我很好奇,是否有一种方法可以覆盖ui-bootstrap- tpls文件中的单个特定模板。绝大多数默认模板都可以满足我的需求,但是我想替换几个特定的模板,而无需完成获取所有默认模板并将它们连接到非tpls版本的整个过程。
是的,来自http://angular-ui.github.io/bootstrap的指令是高度可定制的,并且很容易覆盖其中一个模板(其他模板仍然依赖默认模板)。
只需$templateCache通过直接喂食(如在ui-bootstrap- tpls文件中完成)或(可能更简单)使用<script>指令(doc)覆盖模板,就可以喂食。
$templateCache
ui-bootstrap- tpls
<script>
在那里我改变了警报的模板来交换一个人为的例子x为Close如下所示:
x
Close
<!doctype html> <html ng-app="plunker"> <head> <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.js"></script> <script src="http://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.4.0.js"></script> <script src="example.js"></script> <link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-combined.min.css" rel="stylesheet"> <script id="template/alert/alert.html" type="text/ng-template"> <div class='alert' ng-class='type && "alert-" + type'> <button ng-show='closeable' type='button' class='close' ng-click='close()'>Close</button> <div ng-transclude></div> </div> </script> </head> <body> <div ng-controller="AlertDemoCtrl"> <alert ng-repeat="alert in alerts" type="alert.type" close="closeAlert($index)"> {{alert.msg}} </alert> <button class='btn' ng-click="addAlert()">Add Alert</button> </div> </body> </html>
现场演奏者:http ://plnkr.co/edit/gyjVMBxa3fToYTFJtnij?p=preview