有很多例子是官网改的,大家可以去官网
http://vuejs.org.cn/guide/components.html#Props
这里每一个例子可以直接拷进body运行。
本系列为学习记录,并非大神教学案例。
仅仅整理用法,至于VUE的原理,设计模式等等暂不讨论,文中如有不对,还请大家帮忙指正,万分感激。
下一篇会写父子组件交互。
这里是针对于vue1.0,如果要学2.0,建议大家去看官方文档
vue2.0 http://vuefe.cn/guide/
vue-router2.0https://router.vuejs.org/zh-cn/essentials/getting-started.html
第一种
//首先,别忘了引入vue.js
<div id="user_name_01"></div>
<script src="../node_modules/vue/dist/vue.js"></script>
<script>
var User_01 = Vue.extend({// 创建可复用的构造器
template: '<p>{{firstName}} {{lastName}} age {{age}}</p>'
});
var user_01 = new User_01({ // 创建一个 user 实例
data: {
firstName: 'yuxie',
lastName: 'weiliang',
age: 33
}
});
user_01.$mount('#user_name_01') // 挂载到元素上
</script>
// 页面结果
<div>yuxie weiliang age 33</div>
第二种
data里面可以仿佛初始化的数据,然后new的时候,里面的数据会覆盖之前的,可以当做是默认数据
<div id="user_name_02"></div>
<script>
//下面是另一种写法,模版和数据扔一块
var User_02 = Vue.extend({
template: '<p>{{firstName}} {{lastName}} age {{age}}</p>',
data: function(){
return {
firstName: 'yuxie',
lastName: 'weiliang',
age: 33
}
}
});
var user_02 = new User_02({data:{ age: 888888 }});//修改了age
user_02.$mount('#user_name_02')
</script>
// 页面结果
<div>yuxie weiliang age 888888</div>
第三种,使用了html模版
//容器
<div id="user_name_03"></div>
//模版
<template id="children-template">
<p>{{firstName}} {{lastName}} age {{age}}</p>
</template>
//js
<script>
var User_03 = Vue.extend({// 构造器
data: function(){
return {
firstName: 'yuxie',
lastName: 'weiliang',
age: 33
}
},
template: '#children-template'//获取HTML模版
});
var user_03 = new User_03();// 实例化
user_03.$mount('#user_name_03') // 挂载到元素上
</script>
// 页面结果
<div>yuxie weiliang age 33</div>
网友评论