簡體   English   中英

指令模板中的角度ng-if

[英]angular ng-if in directive template

我的指令中有此模板

...     
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>",

....

我需要ng-if而不是item.value來具有item [displayField],但這是:

ng-if='item[displayField]== model' 

不管用。 (這樣工作正常:

"{{item[displayField]}}" + 

(“ +”上方的行),但不在ng-if內部。

[displayField]是指令內部的變量。 它在html attrs中輸入。

<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'

有誰知道如何做到這一點?

這是一個jsbin: http ://jsbin.com/basomupubo/edit?html,js,輸出

我的錯。 我輸入了錯誤的字段。 ng-if = item [somevariable]可以正常工作。 感謝您的關注。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM