我知道有一个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