私が取り組んでいる現在のプロジェクトでは、vuejsを広範囲に使用しており、いくつかの基本的な配列ヘルパー関数へのアクセスにLodashを活用しようとしています。計算されたプロパティは、次のようになりますLodashとVuejsの使用時に計算されたプロパティが更新されない
<button class="btn btn-xs" v-bind:class="appreciated" v-on:click="toggleAppreciate()"><i class="fa fa-heart"></i> Appreciate</button>
:スタイルボタン私はVUEテンプレートに以下している「のような」単純にボタンをクリックする
appreciated: function()
{
return _.indexOf(this.global.userAppreciates, this.entity_id) > -1 ? 'btn-primary' : 'btn-default'
}
は、単純なAjaxのリクエストを送信し、サーバーが応答しますトグルステータスは「追加」または「削除」となります。私は、「感謝」の店舗を変異させるには、次のコードを使用しています:
if (response.data.type === 'added')
{
return this.global.userAppreciates.push(this.entity_id)
}
return _.pull(this.global.userAppreciates, this.entity_id)
正常に動作するJavaScriptプレーンを使用して追加する方法を。 vuetoolsを見ると、userAppreciatesの要素数が更新され、ボタンの状態が変わっていることがわかります。ただし、Lodashの_.pullメソッドを使用して配列から要素を削除しても、要素がストアから削除されても、計算されたプロパティの状態は切り替えられません。私は、プレーンはJavaScriptを使用して、このような何かを行う場合は、しかし:
let index = this.global.userAppreciates.indexOf(this.entity_id)
this.global.userAppreciates.splice(index, 1)
店も更新されます - しかし変化状態とボタンクラスの変更を行います計算されたプロパティ。
Lodashがこれらのメソッドを処理して、Vuejsがプロパティの変更を受け付けないようにする方法がありますか?どんな説明も認められるでしょう。