Ich arbeite in einer Client-Entwicklungsumgebung und muss ihre Codierungsstandards einhalten. Ich habe folgende JS und HTML. Mein ObservableArray kommt als nicht definiert. Ich kann es nicht funktionieren. Sogar die console.logs drucken die korrekten Werte.ObservableArray ist nicht definiert
Bitte mach dir keine Sorgen über ko.applyBindings
. Es ist gesorgt.
Mein JS-Code:
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());
};
}
}
}
);
Mein HTML-Code:
<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 nicht
@ user3297291, es wurde gesorgt. Das wurde der Frage auch hinzugefügt. – user2281858
Ich bemerkte, dass du es hinzugefügt hast, also habe ich meinen Kommentar entfernt. Ihre Frage macht nicht wirklich deutlich, was der bindende Kontext des HTML ist. 'getDetails' erzeugt ein beobachtbares Array mit dem Namen' anotherObservableArray', das jedoch nur im Rahmen der Methode existiert. – user3297291
@ user3297291 Wie kann ich es zu einem globalen Bereich Array machen? – user2281858