ข้อแตกต่างระหว่าง ui-bootstrap-tpls.min.js และ ui-bootstrap.min.js คืออะไร


196

ที่หน้าAngular-UI-Bootstrapบน cdnjs ถูกกล่าวว่า:

Native AngularJS (Angular) สั่งให้ Bootstrap ของ Twitter รอยเท้าขนาดเล็ก (5 kB gzipped!) ไม่จำเป็นต้องพึ่งพา JavaScript บุคคลที่สาม (jQuery, Bootstrap JavaScript)!

... และมีตัวเลือกสำหรับ

//cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/0.6.0/ui-bootstrap-tpls.min.js

และ

//cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/0.6.0/ui-bootstrap.min.js

การกระจายสิ่งเหล่านี้แสดงให้เห็นถึงความแตกต่างเล็กน้อยและฉันไม่สามารถหาเอกสารใด ๆ เกี่ยวกับมัน ...

เรื่องสั้นสั้นใช้ tpls เว้นแต่ว่าคุณกำลังจะสร้างเทมเพลตที่กำหนดเอง

มีการบันทึกไว้ที่นี่: github.com/angular-ui/bootstrap/tree/gh-pages#build-files (เชื่อมโยงจากหน้าแรกเช่นกัน) ในระยะสั้นรุ่น -tpls มีแม่แบบ Bootstrap เริ่มต้นรวม ไม่ว่าในกรณีใด ๆ คุณควรรวมไฟล์ที่ระบุไว้เพียงไฟล์เดียวเท่านั้น - ขอบคุณ pkozlowski.opensource


5
มีการบันทึกไว้ที่นี่: github.com/angular-ui/bootstrap/tree/gh-pages#build-files (เชื่อมโยงจากหน้าแรกเช่นกัน) ในระยะสั้นรุ่น -tpls มีแม่แบบ BS เริ่มต้นรวมอยู่ด้วย ในกรณีใด ๆ คุณควรจะรวมถึงหนึ่งของไฟล์ที่จดทะเบียน
pkozlowski.opensource

13
คนแรกไม่มีเสื้อเชิ้ต
tintyethan

คำตอบ:


198

ดังนั้น ui-bootstrap-tpls.min.js == (ui-bootstrap.min.js + เทมเพลต HTML)จำเป็นต้องใช้โดยรหัส JavaScript หากคุณรวมเฉพาะ ui-bootstrap.min.js คุณจะต้องระบุแม่แบบ HTML ของคุณด้วย

มิฉะนั้นคุณจะเห็นสิ่งที่ชอบ:

GET http://localhost:8989/hello-world/template/tooltip/tooltip-popup.html 404 (Not Found) angular.js:7073
Error: [$compile:tpload] http://errors.angularjs.org/undefined/$compile/tpload?p0=template%2Ftooltip%2Ftooltip-popup.html
    at Error (<anonymous>)
    at http://localhost:8989/hello-world/js/vendor/angular-1.2.0-rc.3/angular.min.js:6:453
    at http://localhost:8989/hello-world/js/vendor/angular-1.2.0-rc.3/angular.min.js:54:14
    at http://localhost:8989/hello-world/js/vendor/angular-1.2.0-rc.3/angular.min.js:64:438
    at A (http://localhost:8989/hello-world/js/vendor/angular-1.2.0-rc.3/angular.min.js:89:258)
    at A (http://localhost:8989/hello-world/js/vendor/angular-1.2.0-rc.3/angular.min.js:89:258)
    at http://localhost:8989/hello-world/js/vendor/angular-1.2.0-rc.3/angular.min.js:90:465
    at g.$eval (http://localhost:8989/hello-world/js/vendor/angular-1.2.0-rc.3/angular.min.js:98:272)
    at g.$digest (http://localhost:8989/hello-world/js/vendor/angular-1.2.0-rc.3/angular.min.js:96:142)
    at g.$apply (http://localhost:8989/hello-world/js/vendor/angular-1.2.0-rc.3/angular.min.js:99:100)

1
การใช้เทมเพลท html ที่นี่คืออะไร เราต้องการมันเพื่อสร้างเลย์เอาต์ของเราเองหรือไม่?
หินกลิ้ง

1
@Sridhar แต่ละคำสั่งต้องใช้ html เล็กน้อย - คนส่วนใหญ่ต้องการใช้เวอร์ชัน tpls คุณต้องการใช้เวอร์ชันที่ไม่ใช่ tpls หากคุณมีวิธีการที่กำหนดเองในการจัดการ / ส่งมอบพาร์ทิชันทั้งหมดของคุณและไม่ต้องการให้รวมไว้ในไลบรารีหลัก
cyberwombat

1
ดังนั้นในแอปพลิเคชันของฉันเรามีชุด partials สำหรับแต่ละหน้า และเรามีชุดฟังก์ชันสำหรับพวกเขาดังนั้นคุณหมายถึงอะไรโดยคำสั่ง กรุณาอธิบายการใช้งาน tpls อย่างถูกต้องหรือจริง
หินกลิ้ง

จริง ๆ แล้วฉันต้องการปรับแม่แบบบางอย่างและไม่ใช้เวอร์ชัน tpls ฉันจะทำอย่างนั้นได้อย่างง่ายดาย?
Vlad

3
เพียงเพื่อให้ชัดเจน: ไม่จำเป็นต้องรวมui-bootstrap.min.jsเมื่อคุณรวมแล้วui-bootstrap-tpls.min.js
ทิมBüthe

66

tplsแท็กหมายความว่าไฟล์ยังมีแม่แบบ

นี่คือตัวอย่าง:

UI-bootstrap.js

angular.module("ui.bootstrap"
 ["ui.bootstrap.transition"
"ui.bootstrap.collapse"
"ui.bootstrap.accordion"
"ui.bootstrap.alert"
"ui.bootstrap.bindHtml"
"ui.bootstrap.buttons"
"ui.bootstrap.carousel"
"ui.bootstrap.position"
"ui.bootstrap.datepicker"
"ui.bootstrap.dropdownToggle"
"ui.bootstrap.modal"
"ui.bootstrap.pagination"
"ui.bootstrap.tooltip"
"ui.bootstrap.popover"
"ui.bootstrap.progressbar"
"ui.bootstrap.rating"
"ui.bootstrap.tabs"
"ui.bootstrap.timepicker"
"ui.bootstrap.typeahead"]);
angular.module('ui.bootstrap.transition'
 [])

UI-บูต-tpls.js

angular.module("ui.bootstrap"
 ["ui.bootstrap.tpls"
 "ui.bootstrap.transition"
"ui.bootstrap.collapse"
"ui.bootstrap.accordion"
"ui.bootstrap.alert"
"ui.bootstrap.bindHtml"
"ui.bootstrap.buttons"
"ui.bootstrap.carousel"
"ui.bootstrap.position"
"ui.bootstrap.datepicker"
"ui.bootstrap.dropdownToggle"
"ui.bootstrap.modal"
"ui.bootstrap.pagination"
"ui.bootstrap.tooltip"
"ui.bootstrap.popover"
"ui.bootstrap.progressbar"
"ui.bootstrap.rating"
"ui.bootstrap.tabs"
"ui.bootstrap.timepicker"
"ui.bootstrap.typeahead"]);

angular.module("ui.bootstrap.tpls"
 ["template/accordion/accordion-group.html"
"template/accordion/accordion.html"
"template/alert/alert.html"
"template/carousel/carousel.html"
"template/carousel/slide.html"
"template/datepicker/datepicker.html"
"template/datepicker/popup.html"
"template/modal/backdrop.html"
"template/modal/window.html"
"template/pagination/pager.html"
"template/pagination/pagination.html"
"template/tooltip/tooltip-html-unsafe-popup.html"
"template/tooltip/tooltip-popup.html"
"template/popover/popover.html"
"template/progressbar/bar.html"
"template/progressbar/progress.html"
"template/rating/rating.html"
"template/tabs/tab.html"
"template/tabs/tabset-titles.html"
"template/tabs/tabset.html"
"template/timepicker/timepicker.html"
"template/typeahead/typeahead-match.html"
"template/typeahead/typeahead-popup.html"]);
angular.module('ui.bootstrap.transition'
 [])

ตัวอย่างเช่น: template / alert / alert.html

angular.module("template/alert/alert.html", []).run(["$templateCache", function($templateCache) {
  $templateCache.put("template/alert/alert.html",
    "<div class='alert' ng-class='type && \"alert-\" + type'>\n" +
    "    <button ng-show='closeable' type='button' class='close' ng-click='close()'>&times;</button>\n" +
    "    <div ng-transclude></div>\n" +
    "</div>\n" +
    "");
}]);

2

ผู้คนตอบคำถามนี้ไปแล้ว แต่ฉันต้องการชี้ให้เห็นว่าเริ่มต้นด้วยการเปิดตัว 0.13.4 เราได้เพิ่มความสามารถในการให้แม่แบบของคุณเป็นกรณี ๆ ไป (เช่นการใช้งานโดยตรงแต่ละครั้ง แม้ว่าหลังจะไม่ยากที่จะทำ)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.