Я работаю в среде разработки клиента и должен придерживаться их стандартов кодирования. У меня есть следующие JS и HTML. Мой наблюдаемый массив приходит, как не определено. Я не могу заставить его работать. Даже console.logs печатает правильные значения.observableArray не определен
Пожалуйста, не беспокойтесь о ko.applyBindings
. Это позаботится.
Мой 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);
var anotherObservableArray = ko.observableArray();
for (var i = 0; i < someArray.length; i++) {
var temp = {
"prodName": ko.observable(someArray[i])
};
anotherObservableArray.push(temp);
}
console.log(anotherObservableArray());
};
}
}
}
);
Мой HTML код:
<div id="someId">
<table>
<tbody>
<tr>
<td>Button Here</td>
<td><button data-bind="click: getDetails(product())">Click me</button></td>
</tr>// this here is working fine
</tbody>
</table>
<ul data-bind="foreach: anotherObservableArray"> // this doesnt work
<li>
<span data-bind="text: prodName"> </span>
</li>
</ul>
</div>
anotherObservableArray не определен
@ пользователь3297291, позаботился. Это также добавилось к вопросу. – user2281858
Я заметил, что вы добавили его, поэтому я удалил свой комментарий. Ваш вопрос не дает четкого представления о том, каков контекст связывания HTML. 'getDetails' создает наблюдаемый массив с именем' anotherObservableArray', но он существует только в рамках метода. – user3297291
@ user3297291 Как я могу сделать это глобальным массивом? – user2281858