Vue中的組件及路由使用實(shí)例代碼詳解
1.組件是什么
組件系統(tǒng)是 Vue 的一個(gè)重要概念,因?yàn)樗且环N抽象,允許我們使用小型、獨(dú)立和通??蓮?fù)用的組件構(gòu)建大型應(yīng)用。通常一個(gè)應(yīng)用會(huì)以一棵嵌套的組件樹的形式來組織;
1.1組件的聲明及使用
全局組件
<body>
<div id="app">
<!-- 用全局組件的名稱作為HTML的標(biāo)簽 -->
<myzujian></myzujian>
</div>
</body>
<script>
//設(shè)置全局組件
Vue.component("myzujian",{
template:"<h2>我是全局組件</h2>"
});
var app=new Vue({
el:"#app",
});
</script>
局部組件
<body>
<div id="app">
<!-- 用局部組件的名稱作為HTML的標(biāo)簽 -->
<zu-jian></zu-jian>
</div>
</body>
<script>
var app=new Vue({
el:"#app",
components:{
zuJian:{
template:"<h1>我是局部組件</h1>",
}
}
});
</script>
1.2組件使用注意事項(xiàng)
組件名如果是駝峰法命名,使用組件時(shí)要將大寫字母改為小寫,并且在前面加上 - 組件中的tamplate屬性必須有一個(gè)唯一的根元素,否則會(huì)報(bào)錯(cuò)
1.3組件中數(shù)據(jù)及方法
<body>
<div id="app">
<mytemp></mytemp>
</div>
</body>
<script>
var app=new Vue({
el:"#app",
data:{},
components:{
mytemp:{
data(){
return {
msg:"123456789",
}
},
methods: {
cli(){
alert(this.msg);
}
},
template:'<h1 @click="cli">you{{msg}} very good</h1>',
}
}
});
</script>
1.4父級(jí)組件傳值
<body>
<div id="app">
<my :cc="msg"></my>
</div>
</body>
<script>
var app = new Vue({
el:'#app',
data:{msg:'沒事干'},
components:{
my:{
props:['cc'],
template:"<s>{{cc}}</s>"
}
}
})
</script>
2.路由的使用
Vue在使用路由插件Vue-router,要提前引入。
<body>
<div id="app">
<ul>
<li> <router-link to="/login">登錄</router-link> </li>
<li> <router-link to="/reg">注冊(cè)</router-link> </li>
</ul>
<router-view></router-view>
</div>
</body>
<script>
// 獲取路由對(duì)象
var ro = new VueRouter({
// 定義路由規(guī)則
routes:[
// 具體匹配規(guī)則
// {path:匹配地址欄路由變化,component:要展示組件}
{path:'/reg',component:{template:"<s>我是注冊(cè)</s>"}},
{path:'/login',component:{template:"<s>我是登錄</s>"}},
]
})
var app = new Vue({
el: '#app',
data: {},
router:ro
})
</script>
2.1動(dòng)態(tài)路由匹配
<body>
<div id="app">
<!-- 傳遞數(shù)據(jù)直接寫在 / 后面 -->
<router-link to="/user/10">hfhg</router-link>
<router-view></router-view>
</div>
</body>
<script>
var router = new VueRouter({
routes: [
{
// 獲取數(shù)據(jù)是變量的名字前面加:
path: "/user/:id", component: {
mounted(){
// router會(huì)為vue添加公有屬性 $route ,使用$route來獲取數(shù)據(jù)
console.log(this.$route.params.id)
},
template: "<s>就大師{{$route.params.id}}分離開國家</s>"
}
}
]
})
var app = new Vue({
el: '#app',
data: {},
router,
})
</script>
總結(jié)
以上所述是小編給大家介紹的Vue中的組件及路由使用實(shí)例代碼詳解,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
詳解vue項(xiàng)目構(gòu)建與實(shí)戰(zhàn)
這篇文章主要介紹了詳解vue項(xiàng)目構(gòu)建與實(shí)戰(zhàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06
vue項(xiàng)目中運(yùn)用webpack動(dòng)態(tài)配置打包多種環(huán)境域名的方法
本人分享一個(gè)vue項(xiàng)目里,根據(jù)命令行輸入不同的命令,打包出不同環(huán)境域名的方法。需要的朋友跟隨小編一起看看吧2019-06-06
Vue3+Tsx給路由加切換動(dòng)畫時(shí)的踩坑及解決
這篇文章主要介紹了Vue3+Tsx給路由加切換動(dòng)畫時(shí)的踩坑及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01
Vue向后端傳數(shù)據(jù)后端接收為null問題及解決
這篇文章主要介紹了Vue向后端傳數(shù)據(jù)后端接收為null問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09
vue/cli和vue版本對(duì)應(yīng)及安裝方式
這篇文章主要介紹了vue/cli和vue版本對(duì)應(yīng)及安裝方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10
vue刷新頁面后params參數(shù)丟失的原因和解決方法
這篇文章主要給大家介紹了vue刷新頁面后params參數(shù)丟失的原因和解決方法,文中通過代碼示例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2023-12-12

