真实开发是采用vue-cli创建.vue模板文件的方式开发:
作用
可以自定义标签
代码演示:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<!--view层 模板-->
<div id="app">
<libai v-for="item in items" v-bind:deng="item"></libai>
</div>
<!--1、导入vue-->
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<script>
<!--定义一个Vue组件component-->
Vue.component("libai",{
//组件里面获取vue的值只能用props来获取
props: ['deng'],
template: '<li>{{deng}}</li>'
});
var vm = new Vue({
el: "#app",
data: {
items: ["Java","Linux","前端"]
}
});
</script>
</body>
</html>
结果:
分析:
Vue.component("libai",{
//组件里面获取vue的值只能用props来获取
props: ['deng'],
template: '<li>{{deng}}</li>'
});
定义了一个模板为:libai的标签
注意:组件传递给组件中的值,只能通过props接收
数据的传递:
<!--view层 模板-->
<div id="app">
<libai v-for="item in items" v-bind:deng="item"></libai>
</div>
<!--1、导入vue-->
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<script>
<!--定义一个Vue组件component-->
Vue.component("libai",{
//组件里面获取vue的值只能用props来获取
props: ['deng'],
template: '<li>{{deng}}</li>'
});
var vm = new Vue({
el: "#app",
data: {
items: ["Java","Linux","前端"]
}
});
</script>
这里视图直接调用了vue自定义的标签libaii,然后,进行for循环获得值;
这里通过v-for遍历得到vue的data属性中的数组值,然后有用v-bind绑定,将得到的单个值绑定回去传递到vue里的组件中,但组件传递给组件中的值,只能通过props接收,然后在组件自身里面得到值后,在通过{{值}}得到值!!!!!!