商品オブジェクトに材料を追加したい。
<ul data-bind="foreach: products">
<li data-bind="text: name"></li>
<li>
<ul data-bind="foreach: ingredients">
<li data-bind="text: name"></li>
</ul>
</li>
</ul>
<script>
var viewmodel = {
products: ko.observableArray([])
};
ko.applyBindings(viewmodel);
</script>
以下のコードを実行すると、正常に機能します。
viewmodel.products.push({
name:"product name",
ingredients:[{name:"ingredient 1"},{name:"ingredient 2"}]
})
しかし今、私は最後に追加された製品にアクセスして成分を追加する必要があります..次のようになります:
viewmodel.products[0].ingredients.push({name:"ingredient 3"})
しかし、それを行うと、エラー「TypeError:Undefinedのプロパティ「ingredient」を読み取れません」がスローされます。