[英]Change the folder location for Angular ui-bootstrap templates
我正在尝试将ui-bootstrap.min.js与外部模板一起使用。
我得到的错误是:
http://localhost:13132/Place/template/timepicker/timepicker.html 404 (Not Found)
我想为每个页面,每个模板,它在下面寻找我的模板:
http://localhost:13132/js/app/template/...
但我似乎无法找到我可以改变指向的位置。
有谁知道怎么做这个改变?
这可以使用$provide.decorator
来处理
阅读有关此问题的更多信息: https : //github.com/angular-ui/bootstrap/issues/743
myApp.config(function($provide) {
$provide.decorator('datepickerDirective', function($delegate) {
//array of datepicker directives
$delegate[0].templateUrl = "my/datepicker.html";
return $delegate;
});
});
更新:我已经测试了这个解决方案,它也适用于其他模板,只需要对app.js进行一些小的更改。 我现在用timepicker.html和day.html测试了这个,定义了timepickerDirective和daypickerDirective的装饰器。 后者用于覆盖日历表显示。 templateUrl路径相对于您的app文件夹,在我的例子中它是“partials / fragments / day.html” 。
根据github上的这个问题 ,templateUrl是不可配置的。 您可以在每个指令定义中更改templateUrl属性
.directive('accordion', function () {
return {
restrict:'EA',
controller:'AccordionController',
transclude: true,
replace: false,
templateUrl: 'template/accordion/accordion.html'
};
但那将是脆弱的,难以维持。 不幸的是,它看起来不像是可配置的 - 但线程是一个有趣的读物。
另一种不更改代码的替代方法是添加某种虚拟服务器目录,将/Place/template
映射到/js/app/template/
实际位置
虚拟目录的实现显然是您选择的服务器平台。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.