vuejs組件內(nèi)的props的屬性賦值問題?
問題描述
組件:<test :loading.sync="loading"></test>
Vue.component('test',{ template: '#testText', props: { loading: { type: Boolean, default: false} }, methods: {getData: function (data) { this.loading = false;//此句有錯(cuò)誤,該如何更正} }});new Vue({el: '#indexBox',data: { loading : false},methods : {loadMore: function () { this.loading = true;} } });
我想在子組件里面變更loading的值回傳給父組件,請(qǐng)問該如何控制loading
問題解答
回答1:你用的是vue2吧,如果是vue2的話就應(yīng)該用事件來把子組件的狀態(tài)傳給父組件,有兩種辦法,一種是在父組件中傳一個(gè)v-model='outerLoading',然后子組件里面
watch:{ outerLoading (v) {this.innerLoading = v }, innerLoading (v) {this.emit('input', v) }}
這樣outLoading就會(huì)響應(yīng)innerLoading,實(shí)現(xiàn)雙向綁定的功能。還有一種做法和這個(gè)類似,就是把this.emit('input', v)換成this.emit('eventName', v),然后在父組件中@eventName='eventFunc', 再通過父組件中的eventFunc(v) { //code... }來響應(yīng)子組件的狀態(tài)
相關(guān)文章:
1. javascript - 求助關(guān)于call和apply的問題,反柯里化2. android - 求 360瀏覽器 百度瀏覽器 搜狗瀏覽器的最新啟動(dòng)類名3. css3 隱藏文本4. java - .jsp頁面用<%= %>的方式獲取數(shù)據(jù)存在一個(gè)很奇怪的問題5. vue.js - vue上傳代碼到git6. java - svn導(dǎo)下來的項(xiàng)目,web-inf下怎么沒有l(wèi)ib文件呀?7. css - 移動(dòng)端字體適配問題8. javascript - arguments.callee9. css3-translate3d-模糊bug - 為何使用了 css3 translate3d 會(huì)導(dǎo)致顯示模糊?10. javascript - Angular利用 broadcast和 on實(shí)現(xiàn)頁面跳轉(zhuǎn)并且傳遞數(shù)據(jù) 但是跳轉(zhuǎn)后收不到數(shù)據(jù)
