私はクライアント開発環境で作業しており、コーディング標準に準拠しなければなりません。私は次のJSとHTMLを持っています。私のobservableArrayは定義されていません来ています。私はそれを働かせることができません。 console.logでも正しい値が出力されています。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があなたのVMの定義に
@ user3297291これは処理されています。それも質問に加えました。 – user2281858
私はあなたがそれを追加したことに気づいたので、私はコメントを削除しました。あなたの質問は、HTMLのバインディング・コンテキストが本当に何であるかを明確にしていません。 'getDetails'は' anotherObservableArray'という観測可能な配列を作成しますが、メソッドのスコープ内にのみ存在します。 – user3297291
@ user3297291どうすればグローバルスコープのアレイにすることができますか? – user2281858