我想创建一个指令,根据其中一个属性的值来获取模板文件和控制器。
到目前为止,这是我的指示:
app.directive('myDir', function() {
return {
templateUrl: function (element, attrs) {
return "/" + attrs.targetpath + ".html";
},
restrict: 'E',
controller: '@',
name: 'targetpath'
};
});
我用它就像......
<my-dir targetpath='path'></my-dir>
我有这个范围变量,它存储路径,如此
$scope.path = 'someWhere';
问题是该指令将targetpath
属性视为字符串而不是范围变量。
因此,它会使用/path.html
控制器查找path
,而使用/someWhere.html
控制器查找someWhere