1. 父から息子へ子コンポーネントに 親コンポーネント <テンプレート> <div> <HelloWorld:title="メッセージ" /> </div> </テンプレート> <スクリプト> 「../components/HelloWorld.vue」からHelloWorldをインポートします。 エクスポートデフォルト{ 名前: "ホーム", データ() { 戻る { メッセージ: 「音楽を検索」、 }; }, コンポーネント: こんにちは世界、 }, }; </スクリプト> サブコンポーネント <テンプレート> <div class="hello"> <h1>{{ タイトル }}</h1> </div> </テンプレート> <スクリプト> エクスポートデフォルト{ 名前: "HelloWorld", プロパティ:["タイトル"], データ() { 戻る {}; }, }; </スクリプト> 2. 息子から父へ子から親に値を渡すには、子コンポーネントでイベントをトリガーする必要があります。イベントでは、 サブコンポーネント <テンプレート> <div class="hello"> <h1 @click="add">{{ タイトル }}</h1> </div> </テンプレート> <スクリプト> エクスポートデフォルト{ 名前: "HelloWorld", プロパティ: ["タイトル"], データ() { 戻る { 年齢:18 }; }, メソッド: { 追加(){ this.$emit("childEvent", this.age); } }, }; </スクリプト> 親コンポーネント <テンプレート> <div> <HelloWorld @childEvent="親イベント" :title="メッセージ" /> </div> </テンプレート> <スクリプト> 「../components/HelloWorld.vue」からHelloWorldをインポートします。 エクスポートデフォルト{ 名前: "ホーム", データ() { 戻る { メッセージ: 「音楽を検索」、 }; }, メソッド: { 親イベント(e) { コンソールログ(e); }, }, コンポーネント: こんにちは世界、 }, }; </スクリプト> 3. ブラザーコンポーネント値の転送1. まず 'vue' から Vue をインポートします。 デフォルトの新しい Vue をエクスポートします。 2. コンポーネント A に <テンプレート> <div class="hello"> <h1 @click="add">{{ タイトル }}</h1> </div> </テンプレート> <スクリプト> 「../publicFn/bus.js」からバスをインポートします。 エクスポートデフォルト{ 名前: "HelloWorld", プロパティ: ["タイトル"], データ() { 戻る { 年齢:18 }; }, メソッド: { 追加(){ バス。$emit("childEvent", this.age); } }, }; </スクリプト> 3. <テンプレート> <div id='スワイパー'> <button>私はボタンです</button> </div> </テンプレート> <スクリプト> 「../publicFn/bus.js」からバスをインポートします。 エクスポートデフォルト{ 名前:'スワイパー', データ (){ 戻る { } }, マウントされた(){ バス.$on("childEvent", (e) => { コンソール.log(e) }) } } </スクリプト> 4. 親コンポーネントは子コンポーネントのデータとメソッドを使用する1.サブコンポーネントタグに 2. 親コンポーネントは 親コンポーネント <テンプレート> <div> <HelloWorld:title="メッセージ" ref="こんにちは" /> <button @click="parentEvent">私は父親です</button> </div> </テンプレート> <スクリプト> 「../components/HelloWorld.vue」からHelloWorldをインポートします。 エクスポートデフォルト{ 名前: "ホーム", データ() { 戻る { メッセージ: 「音楽を検索」、 }; }, メソッド: { 親イベント() { this.$refs.hello.add(); console.log(this.$refs.hello.age); }, }, コンポーネント: こんにちは世界 }, }; </スクリプト> サブコンポーネント <テンプレート> <div class="hello"> <h1>{{ タイトル }}</h1> </div> </テンプレート> <スクリプト> エクスポートデフォルト{ 名前: "HelloWorld", プロパティ: ["タイトル"], データ() { 戻る { 年齢:18 }; }, メソッド: { 追加(){ console.log("私は子コンポーネントです"); } }, }; </スクリプト> 5. 子コンポーネントは親コンポーネントのデータとメソッドを使用する子コンポーネントでは、 親コンポーネント <テンプレート> <div> <HelloWorld:title="メッセージ" ref="こんにちは" /> </div> </テンプレート> <スクリプト> 「../components/HelloWorld.vue」からHelloWorldをインポートします。 エクスポートデフォルト{ 名前: "ホーム", データ() { 戻る { メッセージ: 「音楽を検索」、 }; }, メソッド: { 親イベント() { console.log("私は親コンポーネントのメソッドです"); }, }, コンポーネント: こんにちは世界 }, }; </スクリプト> サブコンポーネント <テンプレート> <div class="hello"> <h1 @click="add">{{ タイトル }}</h1> </div> </テンプレート> <スクリプト> エクスポートデフォルト{ 名前: "HelloWorld", プロパティ: ["タイトル"], データ() { 戻る { 年齢:18 }; }, メソッド: { 追加(){ console.log(this.$parent.msg) this.$parent.parentEvent(); } }, }; </スクリプト> 6. Vuex 値転送
6.1、ストアを定義する 「vue」からVueをインポートします。 「vuex」からVuexをインポートします。 Vue.js で Vuex をビルドします。 デフォルトの新しいVuex.Storeをエクスポートします({ 州: { 学校:「清華大学」、 a:「いいですね」 }, ゲッター: { returnVal(状態) { state.school + state.a を返します。 }, }, 突然変異: 学校の状態を変更します(値) { 状態.学校 = val; console.log('変更が成功しました'); }, }, アクション: {}, モジュール: {} }); 6.2、マウント 'vue' から Vue をインポートします。 './App.vue' からアプリをインポートします。 「./router」からルーターをインポートします。 「./store」からストアをインポートします。 「element-ui」からElementUIをインポートします。 「element-ui/lib/theme-chalk/index.css」をインポートします。 「./publicFn/publicFn」からpublicFnをインポートします。 Vue.config.productionTip = false 定数 url = process.env.VUE_APP_URL; Vue.prototype.$url = url; Vue.prototype.$publicFn = publicFn; Vue.js の ElementUI 要素をオーバーライドします。 新しいVue({ ルーター、 店、 レンダリング: h => h(App), }).$mount('#app') 6.3、使用 <テンプレート> <div class="hello"> <h1 @click="add">{{ タイトル }}</h1> </div> </テンプレート> <スクリプト> エクスポートデフォルト{ 名前: "HelloWorld", プロパティ: ["タイトル"], データ() { 戻る { 年齢:18 }; }, メソッド: { 追加(){ console.log(this.$store.state.school);//値を取得//this.$store.commit('changeSchool', 'Peking University');//値を変更// console.log(this.$store.getters.returnVal)//フィルタリングされた値を取得} }, }; </スクリプト> 7. ルーティング値7.1 クエリを通じて値を渡す 注: この方法では、ページの更新パラメータは失われず、アドレスバーの後にパラメータが表示さ ページA <テンプレート> <div> <HelloWorld:title="メッセージ" ref="こんにちは" /> <button @click="parentEvent">ジャンプ</button> </div> </テンプレート> <スクリプト> 「../components/HelloWorld.vue」からHelloWorldをインポートします。 エクスポートデフォルト{ 名前: "ホーム", データ() { 戻る { メッセージ: 「音楽を検索」、 }; }, メソッド: { 親イベント() { this.$router.push({ パス:"/conter", 名前:'conter', クエリ:{ id:10086, 名前:「彭多多」 } }) }, }, コンポーネント: こんにちは世界 }, }; </スクリプト> ページB <テンプレート> <div id='conter'> </div> </テンプレート> <スクリプト> エクスポートデフォルト{ 名前:'conter', データ (){ 戻る { } }, 作成された(){ console.log(this.$route.query.id、this.$route.query.name); }, } </スクリプト> 7.2 パラメータ経由で値を渡す 注意: この方法でページを更新すると、パラメータは失われますが、 Aページ <テンプレート> <div> <HelloWorld:title="メッセージ" ref="こんにちは" /> <button @click="parentEvent">ジャンプ</button> </div> </テンプレート> <スクリプト> 「../components/HelloWorld.vue」からHelloWorldをインポートします。 エクスポートデフォルト{ 名前: "ホーム", データ() { 戻る { メッセージ: 「音楽を検索」、 }; }, メソッド: { 親イベント() { this.$router.push({ パス:"/conter", 名前:"カウンター", パラメータ:{ id:10086, 名前:「彭多多」 } }) }, }, コンポーネント: こんにちは世界 }, }; </スクリプト> ページB <テンプレート> <div id='conter'> </div> </テンプレート> <スクリプト> エクスポートデフォルト{ 名前:'conter', データ (){ 戻る { } }, 作成された(){ console.log(this.$route.params.id、this.$route.params.name); }, } </スクリプト> これで、Vue の 7 つの値転送メソッドに関するこの記事は終了です。Vue の値転送メソッドの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: MySQL ステートメントを使用して、さまざまな整数が占めるバイト数とその最大値と最小値を調べる例
>>: SSHのssh-keygenコマンドの基本的な使い方の詳細な説明
目次JSX環境の構築NPMを初期化するwebpackをインストールするBabelをインストールするw...
目次1. 関連構成ケース1(使用ツールはvue-cil)ケース2(使用するツールはwebpack) ...
@Font-face 基本紹介: @font-face は、Web ページにカスタム フォントを表示...
mysql のデフォルトのストレージ ディレクトリは/var/lib/mysql/です。以下は、デフ...
著者: Guan Changlong は、Aikesheng の配送サービス部門の DBA です。主...
1. 概要MySQL バージョン: 5.6.21ダウンロードアドレス: https://dev.my...
1.ダウンロードしてインストールする公式ウェブサイトからコミュニティ エディションの dmg インス...
1. ネットワーク接続方法がブリッジされていることを確認する物理ネットワーク接続ステータスのコピーを...
MySQL 8 の新機能: MySQL をバージョン 5.x から 8.x に直接アップグレードする...
フロントエンドのデザイン案では、「X」や「>」の形をした閉じるボタンや、他の 3 方向の白抜き...
前の単語line-height、font-size、vertical-align は、インライン要素...
Awk は、ソートを含む他の一般的なユーティリティによって実行できるいくつかのタスクを実行できる強...
タブバー: 異なるタブをクリックすると異なるコンテンツが表示され、クリックしたタブのスタイルが変更さ...
序文Vue Router は、Vue.js の公式ルーティング マネージャーです。 Vue.js の...
目次JVM クラスローダーTomcat クラスローダークラスを検索ロードクラスクラスをロードしようと...