Javascript 更改Angular ui引导模板的文件夹位置
我正在尝试将ui-bootstrap.min.js与外部模板一起使用 我得到的错误是:Javascript 更改Angular ui引导模板的文件夹位置,javascript,angularjs,angular-ui,Javascript,Angularjs,Angular Ui,我正在尝试将ui-bootstrap.min.js与外部模板一起使用 我得到的错误是: http://localhost:13132/Place/template/timepicker/timepicker.html 404 (Not Found) 我希望对于每个页面,对于每个模板,都可以在下面查找我的模板: http://localhost:13132/js/app/template/... 但我似乎找不到可以改变它指向的位置的地方 有人知道如何进行此更改吗?在github上,templ
http://localhost:13132/Place/template/timepicker/timepicker.html 404 (Not Found)
我希望对于每个页面,对于每个模板,都可以在下面查找我的模板:
http://localhost:13132/js/app/template/...
但我似乎找不到可以改变它指向的位置的地方
有人知道如何进行此更改吗?在github上,templateUrl是不可配置的。您可以在每个指令定义中更改templateUrl属性
.directive('accordion', function () {
return {
restrict:'EA',
controller:'AccordionController',
transclude: true,
replace: false,
templateUrl: 'template/accordion/accordion.html'
};
但这将是脆弱和难以维持的。不幸的是,看起来他们不会对此进行配置,但是线程是一个有趣的读物。这可以使用
$provide.decorator
了解有关此问题的更多信息:
更新:我已经测试了这个解决方案,它也适用于其他模板,只需要对app.js做一些小的更改。我现在已经用timepicker.html和day.html测试了这一点,为timepickerDirective和daypickerDirective定义了一个装饰器。后者用于覆盖日历表显示。templateUrl路径是相对于您的应用程序文件夹的,在我的例子中是“partials/fragments/day.html”。另一个不更改代码的替代方法是添加某种虚拟服务器目录,将
/Place/template
映射到/js/app/template/
的实际位置
虚拟目录的实现显然在您选择的服务器平台中。您能提供一个演示吗?。我正在尝试实现这个解决方案,但我没有得到任何运气。这就是我如何为一组模板URL添加前缀(多于1个指令):。不过,这看起来不是最好的解决方案
myApp.config(function($provide) {
$provide.decorator('datepickerDirective', function($delegate) {
//array of datepicker directives
$delegate[0].templateUrl = "my/datepicker.html";
return $delegate;
});
});