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コマンドの基本的な使い方の詳細な説明
前回のブログでは、Nginx と httpd を使用して、逆生成用のバックエンド Tomcat サー...
同僚から、停電のため MySQL インスタンスを起動できないという報告がありました。 innodb_...
Dockerfile の紹介Docker は、Dockerfile の内容を読み取ってイメージを自動...
目次外部キーテーブルの関係を決定する方法テーブル関係を作成する方法1対多の関係 - 従業員テーブルと...
https をサポートしていない Web サイトは、ブラウザによって徐々に安全でないとマークされるた...
概要最近MySQL関連の知識を勉強し始めました。学んだ知識ポイントと自分の理解を元に整理して共有しま...
パート0 背景社内のイントラネットサーバーは直接インターネットにアクセスすることはできませんが、外部...
先ほど、Docker を使用して SpringBoot プロジェクトを簡単にデプロイし、Docker...
スタイル シートは、ドキュメントの表示方法、発音方法、または入力方法を記述します。XSL 言語は、X...
プロセス アドレス空間の分離は、現代のオペレーティング システムの注目すべき機能です。これは、「古い...
設置環境セントス環境依存性: yum -y gccをインストールします yum インストール -y ...
この記事の例では、画像のドラッグアンドドロップ機能を実現するためのVueの具体的なコードを参考までに...
目次アプリケーションシナリオ簡単に言えば、カスタム指示基本概念グローバルカスタマイズローカルカスタマ...
序文最近、プロジェクトで :first-child を使用したのですが、すぐに思いつきました。これは...
1 セミコロン「;」のない CSS スタイル2 タグが閉じられておらず、「>」がありません...