【发布时间】:2015-02-25 16:55:35
【问题描述】:
我希望该指令能够打印带有 {{ }} 内的值的模板已解析,但事实并非如此。它打印出{{argVal}},就好像它是一段 HTML 字符串。
myApp.directive('myArgs', [function() {
var theTemplate =
'<span>{</span>' +
'<div ng-if="typeIsArray(argVal)">'+
'<p>{{argVal}}</p>'
'<my-args arg-val="argVal[0]"></my-args>'
'</div>';
return {
restrict: "E",
scope: {
argVal: '='
},
controller: ... //contains utils to check type of argVal
link: function(scope, element){
alert(scope.argVal);
element.html('').append(theTemplate);
}
};
}]);
在我的 HTML 文件中,我只是像这样调用指令:
<my-args arg-val="someArray"></my-args>
(someArray在控制器中定义为$scope.someArray = ["ola", "hi", "bonjour"];)
someArray 肯定在范围内,因为 alert(someArray) 正在工作。
那么为什么模板部分不能正确渲染呢?
【问题讨论】:
标签: angularjs angularjs-scope angular-directive