vuejs组件内的props的属性赋值问题?
问题描述
组件:<test :loading.sync="loading"></test>
Vue.component('test',{ template: '#testText', props: { loading: { type: Boolean, default: false} }, methods: {getData: function (data) { this.loading = false;//此句有错误,该如何更正} }});new Vue({el: '#indexBox',data: { loading : false},methods : {loadMore: function () { this.loading = true;} } });
我想在子组件里面变更loading的值回传给父组件,请问该如何控制loading
问题解答
回答1:你用的是vue2吧,如果是vue2的话就应该用事件来把子组件的状态传给父组件,有两种办法,一种是在父组件中传一个v-model='outerLoading',然后子组件里面
watch:{ outerLoading (v) {this.innerLoading = v }, innerLoading (v) {this.emit('input', v) }}
这样outLoading就会响应innerLoading,实现双向绑定的功能。还有一种做法和这个类似,就是把this.emit('input', v)换成this.emit('eventName', v),然后在父组件中@eventName='eventFunc', 再通过父组件中的eventFunc(v) { //code... }来响应子组件的状态
相关文章:
1. android - 类似微信朋友圈或者QQ空间说说那种点击图片放大,并且有放大缩小手势,左右滑动图片手势效果2. 百度地图api - Android百度地图SDK,MapView上层按钮可见却不可触,怎么解决?3. angular.js - 为什么加了 CSS3 的 transition 会导致 Angular 数据绑定失效?4. css3 - CSS布局flex问题5. vue2.0+webpack 如何使用bootstrap?6. mongoDB批量插入文档时,运行下面代码,用MongoVUE查看数据库,mongo库中只存在一个文档?不应该是20个吗?7. nignx - docker内nginx 80端口被占用8. docker - 如何修改运行中容器的配置9. docker-machine添加一个已有的docker主机问题10. 为什么我ping不通我的docker容器呢???
