Qual è la differenza tra ui-bootstrap-tpls.min.js e ui-bootstrap.min.js?


196

Alla pagina Angular-UI-Bootstrap su cdnjs, si dice:

Native AngularJS (Angular) direttive per Bootstrap di Twitter. Ingombro ridotto (5 kB compressi con zip!), Nessuna dipendenza JavaScript di terze parti (jQuery, Bootstrap JavaScript) richiesta!

... e ha opzioni per

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

e

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

Diffondere questi mostra una sottile differenza, e non riesco a trovare alcuna documentazione su di esso ...

Per farla breve, usa tpls a meno che tu non abbia intenzione di creare modelli personalizzati.

È documentato qui: github.com/angular-ui/bootstrap/tree/gh-pages#build-files (collegato anche dalla home page). In breve, la versione -tpls ha modelli Bootstrap predefiniti in bundle. In ogni caso dovresti includere solo uno dei file elencati. - Grazie pkozlowski.opensource


5
È documentato qui: github.com/angular-ui/bootstrap/tree/gh-pages#build-files (collegato anche dalla home page). In breve, la versione -tpls include modelli BS predefiniti. In ogni caso dovresti includere solo uno dei file elencati.
pkozlowski.opensource,

13
il primo non ha una maglietta.
Tintyethan

Risposte:


198

Quindi, ui-bootstrap-tpls.min.js == (ui-bootstrap.min.js + modelli HTML) richiesti dal codice JavaScript. Se hai incluso solo ui-bootstrap.min.js, dovrai anche fornire i tuoi modelli HTML.

Altrimenti vedrai qualcosa di simile:

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
a che cosa servono i modelli html qui? Ne abbiamo bisogno per creare il nostro layout?
Rolling Stone

1
@Sridhar Ogni direttiva richiede un po 'di html - la maggior parte delle persone vorrebbe usare la versione tpls. Si desidera utilizzare la versione non tpls se si dispone di un modo personalizzato per gestire / consegnare tutti i parziali e non si desidera che vengano inclusi nella libreria principale.
Cyberwombat,

1
quindi nella mia applicazione abbiamo una serie di parziali per ogni pagina. E abbiamo una serie di funzionalità per loro, quindi cosa intendi per direttiva. Pls elabora l'uso esatto o reale di tpls.
Rolling Stone

In realtà vorrei adattare alcuni modelli e non usare la versione tpls. Come potrei farlo facilmente?
Vlad

3
Giusto per essere chiari: non è necessario includere ui-bootstrap.min.jsquando hai già inclusoui-bootstrap-tpls.min.js
Tim Büthe

66

Il tpls tag indica che il file contiene anche modelli.

Ecco un esempio:

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-bootstrap-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'
 [])

Ad esempio: 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

Le persone hanno già risposto a questa domanda, ma volevo sottolineare che a partire dalla versione 0.13.4, abbiamo aggiunto la possibilità di fornire i tuoi modelli caso per caso (ad esempio, ogni direttiva utilizza, non a livello di applicazione , tuttavia, quest'ultimo non sarebbe difficile da fare).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.