knockout.js using $index with if binding

前端 未结 2 625
梦谈多话
梦谈多话 2020-12-02 21:56

I\'m trying to show some mark up based on the value of $index, I can display the value but I can\'t seem to use it with an if binding, what\'s the

相关标签:
2条回答
  • 2020-12-02 22:14

    $index is an observable, and observables are functions. When you use observables in an expression you must use the () form to access the value.

    <!-- ko if: $index() === 0 -->
    
    0 讨论(0)
  • 2020-12-02 22:33

    From the knockout bindings page

    $index (only available within foreach bindings)

    This is the zero-based index of the current array entry being rendered by a foreach binding. Unlike the other binding context properties, $index is an observable and is updated whenever the index of the item changes (e.g., if items are added to or removed from the array).

    Example

    <div data-bind="foreach: details.additionalDetails">
        <!-- ko if: $index() !== 0 -->
            <span> | </span>
         <!-- /ko -->
            <span data-bind="text: name"></span> <span data-bind="text: value"></span>
    </div>
    

    Results in

    Model #: UAI5021 | Catalog #: UIOY786
    
    0 讨论(0)
提交回复
热议问题