属性值被解析为指令中的字符串,尽管使用了“字符串”=&”;
Attribute value being parsed as string in directive despite using "="
我正在尝试创建一个自定义指令,并向其中发送一个数组以创建一个动态模板。我看了这两个问题:
将数组绑定到AngularJS 中的指令变量
通过属性将数组传递给AngularJS指令
我基本上使用相同的代码,但当我控制台记录tAttrs
时,它只显示标记为"testArray"
,而不是Array(2)
,因为如果tags="testArray"
被正确解释的话。
据我所见,我在这里没有做错任何事,所以这有点让我发疯,为什么它不起作用。
有人能指出为什么这没有像预期的那样奏效吗?
包含阵列的控制器:
forumApp.controller('profileCtrl', ['$scope', function($scope) {
$scope.testArray = ['displayName', 'email'];
}
指令标记:
<error tags="testArray"></error>
指令:
forumApp.directive('error', [function() {
return {
restrict: 'E',
scope: {
tags: "="
},
template: function(tElement, tAttrs) {
console.log(tAttrs);
return "<div ng-if='row.model === " + tAttrs.tags[0] + "'>Hello world</div>";
}
}
}]);
如果要将数组放在隔离范围内,则不再需要tAttrs
:
template: function(tElement) {
return "<div ng-if='row.model === " + tags[0] + "'>Hello world</div>";
}
上面的模板将在隔离的作用域上查找tags
。tAttrs
正在从元素中移除原始属性。
相关文章:
- 属性值被解析为指令中的字符串,尽管使用了“字符串”=&”;
- 具有bool属性的角度指令传递字符串而不是bool
- 将Angular作用域变量的字符串描述传递给指令
- 角度指令模板未解析HTML字符串
- AngularJS指令:将HTML属性作为字符串,用作字典键
- 接受字符串的角度指令
- 角度指令 将属性解释为字符串
- AngularJS:指令 - 传递字符串而不必使用引号
- 在没有指令的情况下将模板编译成angular字符串
- 拆分在ng repeat指令中创建的字符串(ng模型)
- 如何使templateUrl为null或未定义或空字符串的指令
- 计算传递给Angular指令的对象中的字符串表达式
- 从带有输入框列表的Angular自定义指令中获取组合字符串
- AngularJS指令:用单向绑定从字符串解析数组
- 将带点的字符串转换为javascript中访问嵌套对象的指令
- AngularJS -为子指令提供字符串数组
- 在angular指令中输入类型number会产生字符串
- 如何在angular js指令中执行字符串
- 我该如何在我的HTML字符串中消化我的Angular指令?| AngularJS
- 用字符串作为输入的angular2结构指令