使用angularJS和asp.net MVC解析相对模板URL

时间:2014-08-31 12:08:57

标签: angularjs angularjs-directive asp.net-mvc-5

我已经搜索了很多帖子,但仍然无法运行非常基本的自定义指令,因为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并将其用于绝对路径?

2 个答案:

答案 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是您模板的相对网址。我认为它会起作用。