Javascript 如果在指令模板中,则为ng

Javascript 如果在指令模板中,则为ng,javascript,angularjs,directive,Javascript,Angularjs,Directive,我的指令中有此模板 ... template: "<div class='dd caretImg'>" + "<div class='display-field '>{{selectedValue[displayField]}}</div>" + "<ul>" + "<li ng-repeat='item in data' ng-click='selectItem(item

我的指令中有此模板

...     
template:

    "<div class='dd caretImg'>" +
       "<div class='display-field '>{{selectedValue[displayField]}}</div>" +
        "<ul>" +
          "<li ng-repeat='item in data' ng-click='selectItem(item)'>" +
            "<span class='checkOn' ng-if='item.value == model'></span>" +
            "<span class='check' ng-if='item.value != model'></span>" +
              "{{item[displayField]}}" +
          "</li>" +
        "</ul>" +
    "</div>",

....
它不起作用。(它是这样工作的:

"{{item[displayField]}}" + 
(位于“”+”上方的行),但不在ng if内

[displayField]是指令中的一个变量。它输入到html属性中

<hover-dropdown
        placeholder   = "select..."
        data          = "comparisons"
        model         = "filter.comparison"
        display-field = "label"
        value-field   = "value"
        style         = "width: 65px;"
        on-select     = "changeFilterField(filter)"
        ></hover-dropdown>
有人知道怎么做吗


这是一个jsbin:

我的错误。我输入了错误的字段。ng if=item[somevariable]按预期工作。感谢您查看它。

您可以通过将
{{model}}
添加到
“{item[displayField]}”中进行调试吗
line,看看这两个值是否匹配?你能提供一个提琴吗?我在示例中添加了一个jbin。参见上面的演示应该显示什么?它没有与问题相同的代码。如果css名称有点不同,但功能完全相同,这将有助于将其缩小到特定问题
ng在jbin上,查看指令模板中带有ng if的2个span标记。将ng if='item.value…',更改为ng if='item[displayfield]…',您将看到它不起作用。我正在尝试找出item[displayfield]如何在ng if内工作。
<hover-dropdown
        placeholder   = "select..."
        data          = "comparisons"
        model         = "filter.comparison"
        display-field = "label"
        value-field   = "value"
        style         = "width: 65px;"
        on-select     = "changeFilterField(filter)"
        ></hover-dropdown>
ng-if='item[displayField] == model'
ng-if='item[{{displayField}}] == model'
ng-if='item{{[displayField]}} == model'
ng-if='{{item[displayField]}}== model'