一个完整的网页是复杂的,如果将一个页面作为一个整体来进行开发,会出现各种互相影响的问题,其实我们应该使用一个更加精细的方式—组件化
每一个组件可能包含:
1.模版代码 2.css 3.js代码
使用组件的三个步骤:
1.创建组件
2.注册组件
3.使用组件
<!DOCTYPE html><html><head><meta charset="utf-8"><title></title></head><body><script type="text/javascript" src="https://unpkg.com/vue/dist/vue.js"></script><div id="app"></div><script>//1.创建一个组件var MyCompose = {//组件中不能有el el: "#app",//data 变了,data需要为函数data() {return{firstname: "dai",secondname: "liang",}},//method和computed都可以保留methods: {fullname() {return this.firstname + this.secondname}},template: `<h3> {{ firstname }} {{ secondname }} {{ fullname() }} </h3>`};//2.全局注册组件,注意最好使用驼峰写法Vue.component("MyComp",MyCompose);//3.使用组件var vm = new Vue({el:"#app",template:`<MyComp></MyComp>`,})</script></body></html>
注意上面的写法
Vue.component(“MyComp”,MyCompose);注意这里MyComp是驼峰写法的话,在实例里我们可以这样写
//2.全局注册组件,注意最好使用驼峰写法
Vue.component(“MyComp”,MyCompose);
//3.使用组件
var vm = new Vue({
el:”#app”,
template:<br /><my-comp></my-comp><br />,
})
但是我们一般不会使用全局注册,我们一般会使用局部注册
我们在vue实例中注册
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript" src="https://unpkg.com/vue/dist/vue.js"></script>
<div id="app">
</div>
<script>
//1.创建一个组件
var MyCompose = {
//组件中不能有el el: "#app",
//data 变了,data需要为函数
data() {
return{
firstname: "dai",
secondname: "liang",
}
},
//method和computed都可以保留
methods: {
fullname() {
return this.firstname + this.secondname
}
},
template: `
<h3> {{ firstname }} {{ secondname }} {{ fullname() }} </h3>
`
};
//2.全局注册组件,注意最好使用驼峰写法
// Vue.component("MyComp",MyCompose);
//3.使用组件
var vm = new Vue({
el:"#app",
//4.局部注册组件
components: {
MyComp : MyCompose,
},
template:`
<my-comp></my-comp>
`,
})
</script>
</body>
</html>
