2016-11-03 2 views
0

Я пытаюсь просто обновить объект внутри массива, а затем обновить этот массив, чтобы данные возвращались к представлению. После обновления моего объекта и установки массива я не вижу изменений в ui. Есть предположения?kendo ui, обновить массив объектов

sortTableColumn - это щелчок в окне просмотра, а thTitles устанавливается с использованием привязки данных, я знаю, что оба работают, потому что если я изменю начальное состояние thTitles.sortClassName: «что-то», я увижу что-то в ui.

var viewModel = kendo.observable({ 
     sortTableColumn: function(e) { 
      this.thTitles[1].sortClassName = "icon fa-sort-down"; 
      console.log(this.thTitles); 
      var titles = this.thTitles; 
      this.set("thTitles", titles); 
     }, 
     thTitles: [ 
      { displayName: "Name", dataName: "name", sortDirection: 0, sortClassName:"" }, 
      { displayName: "Price", dataName: "price", sortDirection: 0, sortClassName: ""}, 
      { displayName: "Units", dataName: "unitsInStock", sortDirection: 0, sortClassName: ""} 
     ], 
}); 
kendo.bind($("#tableSortable"), viewModel); 

ответ

0

Попробуйте это.

var viewModel = kendo.observable({ 
     sortTableColumn: function(e) { 
         this.get("thTitles")[1].set("sortClassName", "icon fa-sort-down");   

     }, 
     thTitles: [ 
      { displayName: "Name", dataName: "name", sortDirection: 0, sortClassName:"" }, 
      { displayName: "Price", dataName: "price", sortDirection: 0, sortClassName: ""}, 
      { displayName: "Units", dataName: "unitsInStock", sortDirection: 0, sortClassName: ""} 
     ], 
}); 
kendo.bind($("#tableSortable"), viewModel);