代码之家  ›  专栏  ›  技术社区  ›  Simsons

如何将knockout中的数据绑定到没有名称的数组[duplicate]

  •  0
  • Simsons  · 技术社区  · 6 年前

    我有一个数组,它只有以下格式的值:

    var myArray = [ "Value1", "V1lue2" ,"Value3","a1lue4"  ]
    

    <ul data-bind="foreach:myArray">
        <li>
            <span data-bind="text: $value"> </span>:
        </li>
    </ul>
    

    我查看了knockout文档,其中包含名值为JSON的示例,但没有来自直接数组的示例。

    例子:

    <ul data-bind="foreach: people">
        <li>
            Name at position <span data-bind="text: $index"> </span>:
            <span data-bind="text: name"> </span>
            <a href="#" data-bind="click: $parent.removePerson">Remove</a>
        </li>
    </ul>
    

    如何循环 myArray 并将绑定应用于当前UL?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Nisarg Shah    6 年前

    你只需要改变 $value $data -表示数组中当前项的上下文变量:

    <span data-bind="text: $data"> </span>:
    

    下面是一个工作片段:

    var model = function() {
      var self = this;
      self.myArray = ["Value1", "V1lue2", "Value3", "a1lue4"];
    };
    
    ko.applyBindings(new model());
    <script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>
    <ul data-bind="foreach: myArray">
      <li>
        <span data-bind="text: $data"> </span>:
      </li>
    </ul>