Javascript 指令模板中的动态字段(angularjs)
我想使用绑定到对象的自定义指令,但我想指定模板中使用的字段。以前,我使用{{item.Name}},但是我想绑定到任何对象,指定显示字段 这就是我所拥有的Javascript 指令模板中的动态字段(angularjs),javascript,angularjs,Javascript,Angularjs,我想使用绑定到对象的自定义指令,但我想指定模板中使用的字段。以前,我使用{{item.Name}},但是我想绑定到任何对象,指定显示字段 这就是我所拥有的 var foo = function () { return { restrict: 'E', scope: { items: '=' }, template: "<div class='holder'>"
var foo = function () {
return {
restrict: 'E',
scope: {
items: '='
},
template:
"<div class='holder'>"
+ "<a data-ng-repeat='item in items' data-ng-click='myClick(item)'><i class='fa fa-times'/>{{item.Name}}</a>"
+ "</div>",
controller: function ($scope) {......}
}
}
var foo=函数(){
返回{
限制:'E',
范围:{
项目:'='
},
模板:
""
+“很接近。记住角度表达式是Javascript表达式的子集。要使用动态属性名称访问属性,请使用括号表示法:
{{ item[display_field] }}
任何值都可以是对象的键,而不仅仅是字符串。括号表示法允许您使用任何表达式作为键来访问对象的属性:
var obj={};
obj[1]=“a”;
obj.asdf='b';
obj[{}]='c';
console.log(obj[1],obj['asdf'],obj[{}]);
感谢您的快速帮助。出于某种原因,这根本不起作用。它只是显示为空白。即使我有一个名为display_field的文本字段。我试图让它以小提琴的方式工作。谢谢!我想我已经接近了。我最后一点的问题是,我需要使用@而不是=。
<foo items="myItems" display_field="OtherProperty" icon-field="iconProperty" />
{{ item[display_field] }}