Vue中的组件及路由使用
2024-09-01 02:28:10
1.组件是什么
组件系统是 Vue 的一个重要概念,因为它是一种抽象,允许我们使用小型、独立和通常可复用的组件构建大型应用。通常一个应用会以一棵嵌套的组件树的形式来组织;
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组件中数据及方法
<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({
// 定义路由规则
routes:[
// 具体匹配规则
// {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动态路由匹配
<body>
<div id="app">
<!-- 传递数据直接写在 / 后面 -->
<router-link to="/user/10">hfhg</router-link>
<router-view></router-view>
</div>
</body>
<script>
var router = new VueRouter({
routes: [
{
// 获取数据是变量的名字前面加:
path: "/user/:id", component: {
mounted(){
// router会为vue添加公有属性 $route ,使用$route来获取数据
console.log(this.$route.params.id)
},
template: "<s>就大师{{$route.params.id}}分离开国家</s>"
}
}
]
})
var app = new Vue({
el: '#app',
data: {},
router,
})
</script>
最新文章
- 用Retrofit发送请求中添加身份验证
- 爬虫初探(2)之requests
- SqlServer性能检测和优化工具使用详细(转)
- self&;super
- 无法定位程序输入点ucrtbase.
- C# 计算文件的 Hash 值
- Power Strings
- Discuz 楼主帖子采集
- Mybatis批量更新数据
- 老李分享:DBA
- Elasticsearch 与 Kafka 整合剖析
- (转)Servlet初始化、运行、销毁全部过程
- (NO.00002)iOS游戏精灵战争雏形(一)
- VisualStudio移动开发(C#、VB.NET)Smobiler开发平台——AlbumView相册控件的使用方式
- Java静态代码块与非静态代码块
- 小程序wepy.js框架总结
- 每天一个linux命令:chown
- STL之map学习实例
- 《算法》第四章部分程序 part 5
- iOS手机号,身份证,车牌号正则表达式
热门文章
- ASP.NET Core Web 应用程序系列(三)- 在ASP.NET Core中使用Autofac替换自带DI进行构造函数和属性的批量依赖注入(MVC当中应用)
- PHP给图片加上图片水印和文字水印实例
- javaWeb核心技术第八篇之Cookie和Session
- 架构视角 - DDD、TDD、MDD领域驱动、测试驱动还是模型驱动?
- Android 亮度调节功能开发思路整理
- OC深浅复制
- Notification 弹出一个通知在桌面右下角
- postman---postman导出python脚本
- CGAL的安装与使用
- WPF Datagrid 控制 第一行和第一列之间的空白