私はVueJSに新しいですし、私は私が思う問題を解決するのは非常にシンプルを持っている...Vueの2.0とSemanticUIプログレスバー
私はSemanticUIプログレスバーをラップする単純なコンポーネントがあります。
<template>
<div class="column">
<div class="ui orange inverted progress" v-bind:data-percent="progress" id="loading-bar">
<div class="bar"></div>
<div class="label">{{ label }}</div>
</div>
</div>
</template>
<script>
export default {
mounted() {
window.$('#loading-bar').progress();
},
props: ['label', 'progress'],
updated() {
console.log(this._props.progress);
},
};
</script>
<style>
</style>
を「アカウント/ initialLoadXはただのsetTimeoutを使用して遅延しながら
<template>
<v-layout>
<v-load-def label="Logging in..." :progress="test"></v-load-def>
</v-layout>
</template>
<script>
import store from '@/store';
export default {
data() {
return {
test: 1,
};
},
mounted() {
store.dispatch('account/initialLoad1').then(() => {
console.log(this);
this.test = 20;
store.dispatch('account/initialLoad2').then(() => {
this.test = 60;
store.dispatch('account/initialLoad3').then(() => {
this.test = 100;
});
});
});
},
components: {
VLoadDef: require('@/components/load-def.vue'),
},
};
</script>
:(おそらく無関係なセクションが出て切り取ら付き)
その親コンポーネントは次のようになります。プログレスバーコンポーネントの更新されたフックのデバッグ出力が表示されました。遅延呼び出し後にプロパティが正しく更新されました。ただし、プログレスバーは変更を無視します。まだ効果なし - 私もテスト目的のために、このデバッグ出力(私はそれがthis._props取る使用することを想定されていない)の後
window.$('#loading-bar').progress(this._props.progress);
を試してみました。
どうしたのですか?私はVueの反応性やSemanticUIプログレスバーの仕組みを誤解しましたか?私はSemanticUI-VueJS結合ライブラリの例を探したが、彼らは便利なプログレスバーを左;)何かアドバイスを事前に
おかげで、
リチャードは
だけでなく、$ refsが子コンポーネントで動作するだけでなく、ref属性を持つすべての要素で動作することもわかりました。ありがとうございました! –