Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 指令模板中的动态字段(angularjs)_Javascript_Angularjs - Fatal编程技术网

Javascript 指令模板中的动态字段(angularjs)

Javascript 指令模板中的动态字段(angularjs),javascript,angularjs,Javascript,Angularjs,我想使用绑定到对象的自定义指令,但我想指定模板中使用的字段。以前,我使用{{item.Name}},但是我想绑定到任何对象,指定显示字段 这就是我所拥有的 var foo = function () { return { restrict: 'E', scope: { items: '=' }, template: "<div class='holder'>"

我想使用绑定到对象的自定义指令,但我想指定模板中使用的字段。以前,我使用{{item.Name}},但是我想绑定到任何对象,指定显示字段

这就是我所拥有的

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] }}