组件-component
1.什么是组件
组件(component)是vue.js最强大的功能之一,组件可以扩展HTML元素,封装可重用的代码
组件是自定义元素(对象)
2.定义组件的方式
方式1:先创建组件的构造器,然后由构造器创建组件
var myComponent = Vue.extend({
template:"<h3>hello vue!</h3>"
})
Vue.component("hello",myComponent)
方式2:直接创建组件
Vue.component("world",{
template:"<h3>hello world!</h3>"
})
3.组件的分类
1).局部组件
html调用方法:<hello></hello>
var vm = Vue({
el:"#app",
data:{
name:"yiyi"
},
components:{
"hello":{
template:"<p>{{name}}</p>",
data:function(){
return {
name:"yang"
}
}
}
}
})
2).全局组件
全局组件为:Vue.component("组件名",{
template:"组件标签内容",
data:function(){ // 这里必须是一个函数,用return返回存储的数据
return 数据
}
})
html调用方法:<hello></hello>
Vue.component("hello",{
template:"<p>{{name}}</p>",
data:function(){
return {
name:"yang"
}
}
})
4.组件引用模版
组件引用模版可以使用一个特定的标签<template></template>来引入,template标签子元素,只能有一个
html部分:
<hello></hello>
<template id="myHello">
<div>
<p>{{msg}}</p>
<ul>
<li v-for="i in arr"></li>
</ul>
</div>
</template>
js部分:
var vm = Vue({
el:"#app",
component:{
"hello":{
template:"#myHello",
data:function(){
return {
msg:"hello vue!",
arr:["hehe","haha","heihei"]
}
}
}
}
})