Vue中的組件及路由使用實例代碼詳解
1.組件是什么
組件系統(tǒng)是 Vue 的一個重要概念,因為它是一種抽象,允許我們使用小型、獨立和通??蓮陀玫慕M件構(gòu)建大型應用。通常一個應用會以一棵嵌套的組件樹的形式來組織;
1.1組件的聲明及使用
全局組件
<body>
<div id="app">
<!-- 用全局組件的名稱作為HTML的標簽 -->
<myzujian></myzujian>
</div>
</body>
<script>
//設置全局組件
Vue.component("myzujian",{
template:"<h2>我是全局組件</h2>"
});
var app=new Vue({
el:"#app",
});
</script>
局部組件
<body>
<div id="app">
<!-- 用局部組件的名稱作為HTML的標簽 -->
<zu-jian></zu-jian>
</div>
</body>
<script>
var app=new Vue({
el:"#app",
components:{
zuJian:{
template:"<h1>我是局部組件</h1>",
}
}
});
</script>
1.2組件使用注意事項
組件名如果是駝峰法命名,使用組件時要將大寫字母改為小寫,并且在前面加上 - 組件中的tamplate屬性必須有一個唯一的根元素,否則會報錯
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父級組件傳值
<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">注冊</router-link> </li>
</ul>
<router-view></router-view>
</div>
</body>
<script>
// 獲取路由對象
var ro = new VueRouter({
// 定義路由規(guī)則
routes:[
// 具體匹配規(guī)則
// {path:匹配地址欄路由變化,component:要展示組件}
{path:'/reg',component:{template:"<s>我是注冊</s>"}},
{path:'/login',component:{template:"<s>我是登錄</s>"}},
]
})
var app = new Vue({
el: '#app',
data: {},
router:ro
})
</script>
2.1動態(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會為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中的組件及路由使用實例代碼詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
vue項目中運用webpack動態(tài)配置打包多種環(huán)境域名的方法
本人分享一個vue項目里,根據(jù)命令行輸入不同的命令,打包出不同環(huán)境域名的方法。需要的朋友跟隨小編一起看看吧2019-06-06
Vue向后端傳數(shù)據(jù)后端接收為null問題及解決
這篇文章主要介紹了Vue向后端傳數(shù)據(jù)后端接收為null問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09
vue刷新頁面后params參數(shù)丟失的原因和解決方法
這篇文章主要給大家介紹了vue刷新頁面后params參數(shù)丟失的原因和解決方法,文中通過代碼示例給大家介紹的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下2023-12-12

