Vue中组件的作用域是隔离的,父组件中的数值子组件看不到!也就是说,用angular作比喻,组件的scope天生是scope:()的!
如果父组件需要往子组件中传数据,此时应该使用标签属性:
<div id="app"> <my-compo c="886"></my-compo> </div>
子组件中,用props声明这个值即可。并且在template里面可以直接使用{{c}}来获得这个属性,而不需要写为{{this.props.c}}
import Vue from "vue"; const MyCompo = Vue.extend({ template : ` <div> <h1>我是MyCompo组件,我的a值是{{a}}</h1> <h1>子组件c:{{c}}</h1> <input type="button" value="+++" v-on:click="add"/> </div> `, props : ["c"], data : function(){ return { a : 1, b : 2 } }, methods : { add : function(){ this.a ++; } } }); export default MyCompo;
如果父组件中要传一个动态的值(就是父组件的data,不是死数),此时要用v-bind:来传递。
v-bind指令表示动态属性。
<div id="app"> <my-compo v-bind:c="c"></my-compo> </div>
此时我们研究,子组件改变了这个值,父组件的值变不变。答:默认情况下不变!
<my-compo v-bind:c="c"></my-compo> import Vue from "vue"; const MyCompo = Vue.extend({ template : ` <div> <h1>我是MyCompo组件,我的a值是{{a}},我的c值是:{{c}}</h1> <input type="button" value="+++" v-on:click="add"/> </div> `, props : ["c"], methods : { add : function(){ this.c ++; } } }); export default MyCompo;
子组件的c值变化了,但是外面不变!
也就是说,默认情况下,父组件中的属性值如果传给儿子,子组件改变这个值,仅仅改变子组件中的值,父组件中的值不变。
如果非要让子组件能够改变父组件中的值,要加sync修饰符:
<my-compo v-bind:c.sync="c"></my-compo>
上面的c属性是一个基本类型值常数3。此时我们试试引用类型值。
父组件中增加d属性,值是json。
import Vue from "vue"; import MyCompo from "./components/MyCompo.js"; new Vue({ el : "#app", data : { c : 333, d : { v : 8888 } }, components : { "my-compo" : MyCompo } });
传给子组件:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Vue学习</title> </head> <body> <div id="app"> <h1>我是父亲,我的c: {{c}} ,我的d:{{d | json}}</h1> <my-compo v-bind:c.sync="c" v-bind:d="d"></my-compo> </div> <script type="text/javascript" src="/UploadFiles/2021-04-02/bundle.js">子组件改变d的时候,父亲也变了!!!虽然我们没加.sync。
总结:
Vue中基本类型值默认单向传递,双向加sync。
引用类型值,默认双向传递。
小tip,v-bind的缩写语法就是冒号。
属性可以验证类型、必填等等。
props : { "c" : null, "d" : null, "e" : { type : Number, required : true } },以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
暂无评论...
更新日志
2024年11月25日
2024年11月25日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]