组件:就是自定义标签:
demo06.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!--导入vue.js-->
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script>
</head>
<body>
<!--view层,模板-->
<div id="app">
<!--组件:传递给组件中的值:props-->
<qinjiang></qinjiang>
</div>
<script>
//定义一个Vue组件component props:接收的参数 template:模板
Vue.component("qinjiang",{
template:'<li>Hello</li>'
});
var vm=new Vue({
//绑定app
el:"#app",
});
</script>
</body>
</html>
定义组件并获取item的值:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!--导入vue.js-->
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script>
</head>
<body>
<!--view层,模板-->
<div id="app">
<!--组件:v-bind传递给组件中的值:props-->
<qinjiang v-for="item in items" v-bind:qin="item"></qinjiang>
</div>
<script>
//定义一个Vue组件component第一个参数是名字,第二个参数是组件对象 props:接收的参数 template:模板
Vue.component("qinjiang",{
props:['qin'],
template:'<li>{{qin}}</li>'
});
var vm=new Vue({
//绑定app
el:"#app",
//Model:数据
data:{
items:["Java","Linux","前端"]
}
});
</script>
</body>
</html>
创建data.json
{
"name":"狂神说java",
"url": "http://baidu.com",
"page": "1",
"isNonProfit":"true",
"address": {
"street": "含光门",
"city":"陕西西安",
"country": "中国"
},
"links": [
{
"name": "B站",
"url": "https://www.bilibili.com/"
},
{
"name": "4399",
"url": "https://www.4399.com/"
},
{
"name": "百度",
"url": "https://www.baidu.com/"
}
]
}
demo07.html:
<!DOCTYPE html>
<html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!--导入vue.js使用在线cdn-->
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script>
<!--导入axios在线cdn-->
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
</head>
<body>
<!--view层,模板-->
<div id="vue">
<div>{{info.name}}</div>
<div>{{info.address.street}}</div>
<a v-bind:href="info.url">跳转</a>
</div>
<script>
var vm=new Vue({
//绑定app
el:"#vue",
data(){
return{
// 请求的返回参数合适,必须和json字符串一样
info:{
name:null,
address:{
street:null,
city:null,
country:null
},
url:null
}
}
},
mounted(){//构子函数 链式编程 ES6新特性
axios.get('../data.json').then(response=>(this.info=response.data));
}
});
</script>
</body>
</html>
点击跳转: