我已经搜索了很多帖子,但仍然无法运行非常基本的自定义指令,因为templateUrl
未正确解析。
我有一个AngularJSController
的索引 - 动作(asp.net MVC),调用View / AngularJS / Index.cshtml,非常基本。在那里,我调用自定义指令:
<product-title></product-title>
概述了:
app.directive('productTitle', function () {
return {
restrict: 'E',
// ends up with wrong url '{root-path}/AngularJS/AngularJSTemplates/ProductTitle'
templateUrl: 'AngularJSTemplates/ProductTitle'
}
});
如您所见,它应该使用操作方法AngularJSTemplatesController
调用控制器ProductTitle
(asp.net MVC)。这将返回我对angularJS的部分。 以下是问题: AngularJS调用{root-path}/AngularJS/AngularJSTemplates/ProductTitle
而非{root-path}/AngularJSTemplates/ProductTitle
...
我在这里缺少什么?我是否真的需要将根路径定义为javascript-global并将其用于绝对路径?
答案 0 :(得分:0)
您可能需要定义基本网址,请参阅使用相对链接here
的文档答案 1 :(得分:-2)
只需用以下指令替换指令:
app.directive('productTitle', function () {
return {
restrict: 'E',
// ends up with wrong url '{root-path}/AngularJS/AngularJSTemplates/ProductTitle'
templateUrl: 'AngularJS/AngularJSTemplates/ProductTitle'
}
});
我认为指令无法找到你的模板。 AngularJS/AngularJSTemplates/ProductTitle
是您模板的相对网址。我认为它会起作用。