私の中には次のコードがありますapp.js
(Vueをインポートした後と前new Vue()
):
Vue.prototype.$globalArray = [];
そして、私のVueコンポーネントの1つに、次のものがあります。
<span v-for="item in $globalArray">{{ item }}</span>
問題は$vm0.$globalArray.push('some text');
、Chrome開発ツール(Vue拡張機能を使用しているため$vm0
)で実行しても何も起こらないことです。しかし、私がに変更app.js
すると
Vue.prototype.$globalArray = 'some other text';
実際には「他のテキスト」が表示されるため、初期値をレンダリングするだけで更新されないように見えます。コンポーネントがマウントされてから数秒のタイムアウトを設定し、に何かを挿入した場合も同様$globalArray
です。
誰かが私が何か間違ったことをしているのか、それともこれがサポートされていないのか教えてもらえますか?
前もって感謝します
あなただけのグローバルVUEのインスタンスを定義しているし、それは、デフォルトでは反応しない- https://vuejs.org/v2/cookbook/adding-instance-properties.html
それはあなたが例えばVue.observableに続くことができる反応性にするために- https://vuejs.org/v2/api/#Vue-observable
Vue.prototype.$global = Vue.observable({array: []})
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加