KnockoutJS追加到observableArray的开头

我有一个ViewModel从服务器检索数据,并且新数据与我已有的数据连接。 问题是,新的数据是在旧数据之后进行的,而我希望它反过来,因此新数据显示在视图的顶部

这是我拥有的:

self.serverData(self.serverData().concat(newData));

并且该视图显示为:

  • 旧数据
  • 旧数据
  • 旧数据
  • 新数据

  • 使用unshift函数预先安排可观察数组。 它将修改底层数组并告诉它已更新的可观察值。

    var x = ko.observableArray([1,2,3]);
    x.unshift(0);
    // x() returns [0,1,2,3]
    

    您可以使用不移位或拼接

    function viewModel() {
      var self = this;
      self.x = ko.observableArray([1, 2, 3]);
      self.x.unshift(0);
      
      self.y = ko.observableArray([1, 2, 3]);
      self.y.splice(0, 0, 0);
      
    }
    ko.applyBindings(new viewModel());
    <script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
    <div data-bind="foreach: x">
      <span data-bind="text: $data">   </span>
    </div>
    
    yyyyyyy
    <div data-bind="foreach: y">
      <span data-bind="text: $data">   </span>
    </div>
    链接地址: http://www.djcxy.com/p/19371.html

    上一篇: KnockoutJS Appending To the Beginning of observableArray

    下一篇: Push and Unshift Operation in javascript object