日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

vue 父链和子组件索引_vue子组件和父组件双向绑定的几种方案

發布時間:2023/12/2 vue 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vue 父链和子组件索引_vue子组件和父组件双向绑定的几种方案 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

v-model案例


模仿v-model實現案例

我是一串要和內部名字聯動的一串文字(父組件)

父組件改變值帶動(父組件)點一下試試

.sync方案實現案例


這是父組件的東西。利用這個框改變值,看看有沒有傳到子組件,也可以改子組件看看這里有變化沒

// v-model方案 你寫上一個v-model的時候其實就是自動監聽了input事件并且把取到的值賦值給當前值.

Vue.component('new-input', {

props: ['value'],

data: function() {

return {}

},

template: '是個好人:',

methods: {},

computed: {

newName: {

get() {

return this.value;

},

set(value) {

this.$emit('input', value);

}

}

}

});

// 模擬v-model 他的意義在于沒有里邊沒有input框也想實現這種,用在組件需要顯示關閉的時候比較方便

// 這個意義重大.

Vue.component('two-model', {

props: ['show'],

data: function() {

return {

}

},

template: '

點擊!!!顯示/隱藏下方的名字可以影響父組件(子組件)

Army-海軍(子組件)

',

methods: {

toggleShow() {

this.nameShow =!this.nameShow

}

},

computed: {

nameShow: {

get() {

return this.show;

},

set(value) {

this.$emit('input', value);

}

}

}

});

// 這里必須監聽這個 update:name這個事件這個時候才能這樣子寫:name.sync="name"

// 同時要加上在子組件里監聽這個變量.否則只能子組件改變父組件,不能雙向綁定

// 還是用v-model更好理解和方便些吧

Vue.component('three-input', {

props: ['name'],

data: function() {

return {

newName: this.name

}

},

template: ' 你的名字:',

methods: {

changeInput(val) {

this.$emit("update:name", this.newName);

}

},

computed: {},

watch: {

name() {

this.newName = this.name;

}

}

});

new Vue({

el: '#app',

data: {

name: 'Army-海軍',

showName: true

},

methods: {

getNewName: function(newName) {

this.name = newName;

},

changeShowName(val) {

this.showName = val;

},

toggleShowName() {

this.showName = ! this.showName

}

}

});

直接復制到自己頁面去測試即可。代碼是最好讀的。

總結

以上是生活随笔為你收集整理的vue 父链和子组件索引_vue子组件和父组件双向绑定的几种方案的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。