Vue.js的组件(二)父组件与子组件的数据联系 之 父传子
2017-03-22 16:14
465 查看
假设有如下组件:
父组件和子组件是相对于作用域而言的。因为他们都是Vue()的实例,有各自独立的作用域。
先理清谁是父谁是子。
首先,父可以传数据给子。
也就是app3的数据给
怎么传?
通过组件的一个属性props.
现在对上面的组件加上这个属性,变成了下面这样。
这样就成功的将父的数据传给子了。
要注意的是,porps里不能有
父传给子的这个message是单向绑定的,app3.message如果改变了,那子模板也会改变。
如果子模板想要加工从porps中得到的数据从而变成自己想要的数据,可以使用 computed属性,这时候,组件就改成了这样:
现在,你的数据被加工成,message+’hello world’了,而且会根据message的变化而变化。
/*js*/ Vue.component('my-button',{ tempalte:'<button>一个按钮</button>' }) var app3 = new Vue({ el:'#app3', data:{ message:0 } }) /*html*/ <div id="app3"> <mybutton></mybutton> </div>
父组件和子组件是相对于作用域而言的。因为他们都是Vue()的实例,有各自独立的作用域。
先理清谁是父谁是子。
<div id="app3"></div> //父
<button>一个按钮</button> //子
首先,父可以传数据给子。
也就是app3的数据给
button。
怎么传?
通过组件的一个属性props.
现在对上面的组件加上这个属性,变成了下面这样。
/*js*/ Vue.component('my-button',{ props:['deliver'], tempalte:'<button>{{deliver}}</button>' }) var app3 = new Vue({ el:'#app3', data:{ message:'把我传给子组件' } })
//html <div id="app3"> <my-button v-bind:deliver="message"></my-button> </div>
这样就成功的将父的数据传给子了。
要注意的是,porps里不能有
-,不能有驼峰。
父传给子的这个message是单向绑定的,app3.message如果改变了,那子模板也会改变。
如果子模板想要加工从porps中得到的数据从而变成自己想要的数据,可以使用 computed属性,这时候,组件就改成了这样:
Vue.component('my-button',{ props:['deliver'], tempalte:'<button>{{counter}}</button>' computed:{ counter:function(){ return this.deliver+'hello world' } } })
现在,你的数据被加工成,message+’hello world’了,而且会根据message的变化而变化。
相关文章推荐
- Vue.js的组件(三)父组件与子组件的数据联系 之 子传父 之 自定义事件
- Vue.js的组件(四)父组件与子组件的数据联系 之 双向绑定
- Vue.js组件—父组件与子组件之间的数据联系
- Vue.js-----轻量高效的MVVM框架,组件利用Props传递数据)
- Vuejs——(9)组件——props数据传递
- vue.js组件之间通讯的数据双向绑定----父亲把数据传递给儿子,儿子更改数据后,重新发送给父亲,父亲数据更改后,属性会重新发送个儿子,儿子刷新新数据
- 父组件向子组件传递数据(vue.js)
- vue.js 组件之间传递数据
- 关于vue.js父子组件数据传递
- vue.js之父组件向子组件传递数据
- Vue.js-----轻量高效的MVVM框架(九、组件利用Props传递数据)
- Vuejs——(9)组件——props数据传递
- vue.js 学习之组件之间数据传递详解
- Vue.js-----轻量高效的MVVM框架(九、组件利用Props传递数据)
- vue.js 组件之间传递数据
- vue.js组件之间的通讯-----父亲向儿子传递数据,儿子接收父亲的数据
- Vue.js--基于$.ajax获取数据并与组件的data绑定
- Vue.js实战之组件之间的数据传递
- vue.js中的子组件与父组件,prop传递数据
- vue.js 组件之间传递数据