[解決済み] ページロード時にvue.jsの関数を呼び出す方法
2022-09-04 01:02:14
質問
データをフィルタリングするための関数があります。私は
v-on:change
を使用していますが、ユーザーがデータを選択する前にも関数を呼び出す必要があります。同じことを
AngularJS
を使用する前に
ng-init
を使用していましたが、このようなディレクティブがないことは理解しています。
vue.js
これは私の関数です。
getUnits: function () {
var input = {block: this.block, floor: this.floor, unit_type: this.unit_type, status: this.status};
this.$http.post('/admin/units', input).then(function (response) {
console.log(response.data);
this.units = response.data;
}, function (response) {
console.log(response)
});
}
の中で
blade
ファイルでは、フィルタを実行するためにブレードフォームを使用しています。
<div class="large-2 columns">
{!! Form::select('floor', $floors,null, ['class'=>'form-control', 'placeholder'=>'All Floors', 'v-model'=>'floor', 'v-on:change'=>'getUnits()' ]) !!}
</div>
<div class="large-3 columns">
{!! Form::select('unit_type', $unit_types,null, ['class'=>'form-control', 'placeholder'=>'All Unit Types', 'v-model'=>'unit_type', 'v-on:change'=>'getUnits()' ]) !!}
</div>
これは、特定の項目を選択したときにはうまくいきます。次に、すべての項目をクリックすると、例えば
all floors
をクリックすると、それは動作します。必要なのは、ページがロードされたときに、そのページで
getUnits
メソッドを呼び出し、そのメソッドが
$http.post
を空の入力で実行します。バックエンドでは、入力が空の場合、すべてのデータを与えるようにリクエストを処理しました。
どうすれば
vuejs2
?
私のコード http://jsfiddle.net/q83bnLrx
どのように解決するのですか?
この関数は マウント前 セクションで呼び出すことができます。
....
methods:{
getUnits: function() {...}
},
beforeMount(){
this.getUnits()
},
......
動くフィドル https://jsfiddle.net/q83bnLrx/1/
Vueが提供するライフサイクルフックには様々なものがあります。
いくつかリストアップしてみました。
- 作成前 : インスタンスが初期化された直後、データ観測とイベント/ウォッチャー設定の前に同期的に呼び出されます。
- 作成された : インスタンスが生成された後に同期的に呼び出されます。この段階で、インスタンスはオプションの処理を終了しています。つまり、データ観測、計算プロパティ、メソッド、ウォッチ/イベント・コールバックが設定されていることを意味します。ただし、マウント・フェーズは開始されておらず、$el プロパティはまだ利用可能ではありません。
- マウント前 : マウントが始まる直前に呼び出されます:レンダー関数が初めて呼び出されるところです。
-
マウント
: インスタンスがマウントされた後に呼び出され、el は新しく作成された
vm.$el
. - 更新前 : データが変更されたとき、仮想DOMが再レンダリングされパッチが適用される前に呼び出されます。
- 更新 : データ変更により仮想 DOM が再レンダリングされ、パッチが適用された後に呼び出されます。
完全なリストを見ることができます はこちら .
どのフックが最適かを選択し、上記のサンプルコードのように関数を呼び出すようにフックすることができます。
関連
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScriptでタイムスタンプを取得する方法は?
-
[解決済み] callとapplyの違いは何ですか?
-
[解決済み】別のウェブページにリダイレクトするにはどうすればいいですか?
-
[解決済み] 文字列がすべて同じ部分文字列で構成されているかどうかを調べるにはどうすればよいですか?
-
[解決済み] Chromeのwebkitインスペクタで「Unsafe JavaScript attempt to access frame with URL...」というエラーが継続的に発生する。
-
[解決済み] JavaScriptでDIVを表示・非表示にするには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] <Enter>でjQuery UIダイアログを送信する
-
[解決済み] Google maps API V3 - 同一地点に複数のマーカーを設置する。
-
[解決済み] 文字列のn番目の出現箇所を取得するには?
-
[解決済み] 兄弟ノードを選択する方法はありますか?
-
[解決済み] React js 親コンポーネントから子コンポーネントの状態を変更する
-
[解決済み] 無効になっている入力フィールドの値を送信する
-
[解決済み] 文字列とラベルのローカライズとグローバリゼーションのベストプラクティス【終了しました
-
[解決済み] JavaScript で `throw` の後に `return` をする必要がありますか?
-
[解決済み] V8 Javascript エンジンのスタンドアロン実行
-
[解決済み] 変異を伴わないオブジェクトからの値の削除