私はVueアプリケーションを構築しています。ページに描画するグラフに表示するのにかなり時間がかかりますので、ページにローダーを追加しました。Vue条件付きCSSが常にトリガーするとは限りません
const drawGraph = function drawGraph(d) {
this.changeLocalLoader();
// building the graph
....
// finishing building the graph
this.changeLocalLoader();
}
CSSプロパティI:私は以下の私は、グラフを描画する必要がある場合
methods: {
changeLocalLoader() {
this.localLoader = !this.localLoader;
},
},
、その後:
<template>
<div>
<button @click="changeLocalLoader">test</button>
<div style="" :class="{test : localLoader}">
<loader></loader>
</div>
<div ref="distribution" class="distribution-plot"></div>
</div>
</template>
これはchangeLocalLoader方法は次のとおりです。これは構造体でありますadd( "test"クラス)は、単純に位置絶対値と暗い背景をローダーに追加し、グラフdivをカバーします。 問題は今、私がテストボタンでその動作をトリガーすると、グラフをカバーしていることがわかり、もう一度ボタンをクリックすると表示されますが、描画グラフ関数でlocalLoaderプロパティの値を変更すると、何も変わらない。 localLoader変数のタイミングは問題ありません(私はconsole.logです)、実際にそのコードの何が問題なのか分かりません。
EDIT: drawGraphは、この環視のおかげで呼ばれているのconst:全ての軸の変更drawGraphを呼び出し、また、最初のグラフを表示するには、最初に呼ばれていますresizeListenerを呼び出す
xKey() {
this.resizeListener();
},
。ローダーの値はコンソールで正しいです
なぜローダーの周りのdivにv-if/v-showを使用しないのですか?デフォルトでは、グラフセットv-if/v-showをtrueにして、そのdivにテストクラスを与えて表示しません。 –
v-if/v-elseはグラフではまったく機能しませんが、実際のデータではなく軸だけが非表示になります。 – ste
'drawGraph'はどうやって呼びますか? 'this.localLoader'の値は、それぞれのconsole.logで期待される値ですか? – clay