一 vue的组件
什么是组件
1》 扩展html元素
2》重用性
3》可以实现特殊功能
全局组件(父组件)
Vue.Component(组件名称,{})
组件中的data是一个函数 不是对象
data必须返回对象 return { 对象名称:值 ,}
局部组件(子组件)
例子1:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<div id="app">
<zhangsan></zhangsan>
</div>
<script src="../vue.js"></script>
<script>
Vue.Component("zhangsan", {
template: "<h1>这是一个全局组件</h1>"
})
new Vue({
el: "#app",
data: {
},
methods: {
}
})
</script>
</body>
</html>
例子2
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<div id="app">
<zhangsan></zhangsan>
<button @click="run">点击</button>
</div>
<script src="../vue.js"></script>
<script>
var tpl = {
data: function() {
return {
str: "组件str",
}
},
template: "<div @click='run'>这是一个组件---{{str}}</div>",
methods: {
run: function() {
alert(999);
}
}
};
Vue.component("zhangsan", tpl);
new Vue({
el: "#app",
data: {
str: "这是数据"
},
methods: {
run: function() {
alert(1);
}
}
})
</script>
</body>
</html>