2017-04-21 9 views
1

配列にアイテムをプッシュしようとしていますが、これはHTMLでは表示されません。配列の変更はRactive JSで動作しません

コードの例:

<script type="text/" id="tmpl"> 
<button on-click="create" type="button">Create</button> 
{{#items}}{{.}},{{/items}} 
</script> 

<body> 

<div id="container"> 
</div> 

</body> 

var model = {items: [1, 2, 3, 4]}; 

var ractive = new Ractive({ 
    el: "#container", 
    template: "#tmpl", 
    data: model 
}); 

ractive.on("create", function() { 
    model.items.push(7); 
    console.log(model.items); 
}); 

https://codepen.io/anon/pen/eWzJNR

何が悪いのでしょうか?

+0

コードフォームの例http://docs.ractivejs.org/latest/array-modificationも機能しません –

+0

'model.itemsの代わりに' ractive.push( 'items'、7); 'を使うことができます。 push(7); ' – martypdx

+0

Ractive以外のモデルを更新できるので、解決策ではありません。 –

答えて

1

マジックモードとアレイの変更は、デフォルトで0.8で無効になり、0.9で削除が保留になります(代わりにアダプタ経由で外部で行われます)。

0.8では、手動でmodifyArraysの設定をtrueに設定できます。代わりに、コメントに記載されているようなRactiveの組み込み配列メソッドを使うだけで、インスタンスへの参照があれば動作するはずです。

関連する問題