observableArray不更新UI

我遇到的问题是,在刷新页面后,UI仅使用正确的数据进行更新。 我来自这里observableArray没有定义

我的JS代码:

define( ['knockout'], function (ko) { "use strict"; return { onLoad: function (widget) { widget.getDetails= function (prod) { var abc = prod.DetailsNumbers(); console.log(abc); var someArray= []; someArray= abc.split(','); //console.log(someArray); widget.anotherObservableArray = ko.observableArray(); for (var i = 0; i < someArray.length; i++) { var temp = { "prodName": ko.observable(someArray[i]) }; var myKoObservableArray = widget.anotherObservableArray; myKoObservableArray.push(temp); } console.log(myKoObservableArray()); this.myKoObservableArray = myKoObservableArray; }; } } } ); 

我的HTML:

 
// this here is working fine
Button Here
  • //this changes only after a refresh

data-bind="text: prodName"仅在刷新页面后更改值。

在onLoad中创建一次数组,然后只需更新它。 不要每次都继续创建它。

 define( ['knockout'], function (ko) { "use strict"; return { onLoad: function (widget) { widget.myKoObservableArray = ko.observableArray(); widget.getDetails= function (prod) { var abc = prod.DetailsNumbers(); console.log(abc); var someArray= []; someArray= abc.split(','); //console.log(someArray); // empty the array widget.myKoObservableArray([]); for (var i = 0; i < someArray.length; i++) { var temp = { "prodName": ko.observable(someArray[i]) }; widget.myKoObservableArray.push(temp); } console.log(widget.myKoObservableArray()); }; } } } );