如何在Angular JS指令中动态更改模板URL?

时间:2016-04-20 13:12:58

标签: angularjs angularjs-directive

我知道有一个similar question on Stack Overflow,但这并不是我想要的。 ng-include允许我动态更改路径,但后来我无法访问范围变量。

基本上我想通过AJAX调用动态地将模板URL分配给指令。不幸的是,我似乎无法将指令属性绑定到实际的范围变量。

app.directive('appsdirective', function() {
    return {
        templateUrl : function(elem,attrs) {
            // attrs.templateUrl contains "app.appPath" rather than the content itself
            return attrs.templateUrl;
        },
        restrict : 'EA',
        scope : false
    }
});

<appsdirective template-url="{{app.appPath}}"></appsdirective>

$ scope.app是一个主控制器变量,在开始时未定义,但稍后通过AJAX请求进行初始化。我也尝试手动初始化变量,但它没有帮助,我在控制台中得到了这个明显的错误:

无法加载资源:服务器响应状态为404(未找到)http://localhost:8080/%7B%7Bapp.appPath%7D%7D

0 个答案:

没有答案