初识vue 2.0(2):路由与组件
1,在上一篇的创建工程中,使用的的模版 webpack-simple 只是创建了一个简单的demo,并没有组件和路由功能,此次采用了webpack模版,自动生成组件和路由。^_^
在模版初始化时,因为ESLint语法检查过于严格,可以暂时不要开启。
vue init webpack myapp? Install vue-router? Yes ? Use ESLint to lint your code? No ? Setup unit tests with Karma + Mocha? Yes ? Setup e2e tests with Nightwatch? Yescd myapp npm install npm run dev
2,安装完成后,你会发现 src 目录中多了 components 和 router 。
此时,App.vue 依然是 template、script、style三部分组成,但是在template中,你会发现多了一个router-view标签。
<template><div id="app"><h1>{{ msg }}</h1><router-view></router-view></div>
</template><script>
export default {name: 'app',data () {return {msg: '我是一个banner'}}
}
</script>
3,router目录中,自动生成了默认的index.js路由文件,其中默认的访问指向了Hello组件,我们来增加一个Game组件。
在了解不深入的时候,模仿就好了。^_^
import Vue from 'vue'
import Router from 'vue-router'
import Hello from '@/components/Hello'
import Game from '@/components/Game'//新增Game组件Vue.use(Router)export default new Router({routes: [{path: '/',name: 'Hello',component: Hello},{path: '/game',//新增game路由name: 'Game',component: Game}]
})
4,在components目录中,原有个Hello.vue组件文件,我们简单改写一下,再新增个Game.vue 组件。(样式已被移到html中)
a) Hello.vue
<template><div class="hello"><h2>{{ msg }}</h2><ul><li><a href="#/game">我是一个链接</a></li></ul></div>
</template><script>
export default {name: 'hello',data () {return {msg: '我是hello模块'}}
}
</script>
b) Game.vue
<template><div class="game"><h2>{{ msg }}</h2><ul><li><a href="#/">返回</a></li></ul></div>
</template><script>
export default {name: 'game',data () {return {msg: '我是game模块'}}
}
</script>
5,main.js 文件无需改写,但我们可以看一下内容,主要是启用了路由模块。 ^_^
// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'Vue.config.productionTip = false/* eslint-disable no-new */
new Vue({el: '#app',router,template: '<App/>',components: { App }
})
6,在调试通过后,可以使用 vue run build 构建发布包。默认生成的文件(html、css、js)路径在dist,可以通过修改config目录中index.js 来决定发布代码的结构与路径。
访问效果,默认首页:http://localhost/myapp/dist/#/
点击超链接,跳转到game模块:http://localhost/myapp/dist/#/game
7,至此,一个简单的通过路由来实现组件化的前端应用demo就完成了。
因为这是一个单页应用,url是使用锚点的方式来进行页面切换的。
关于vue的配置信息,会在后续的章节中介绍,下一篇会先介绍vue中ajax的使用。
转载于:https://www.cnblogs.com/phptree/p/7197761.html
初识vue 2.0(2):路由与组件相关推荐
- Element 2.6.0 发布,基于 Vue 2.0 的桌面端组件库
开发四年只会写业务代码,分布式高并发都不会还做程序员? Element 2.6.0 发布了,Element 是一套为开发者.设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库,提供了配套设 ...
- 初识vue 2.0(5):使用props父子组件通信
在复杂场景中,可以使用专门的状态管理模式 Vuex. 简单的场景中,可以使用一个父组件.若干个子组件来构建应用,这样通信会比使用vuex简单些: 1. 子组件的 props 选项可以接收父组件传递过来 ...
- vue 2.0 结合iview UI组件使用分页功能
- jsx怎么往js里传参数_实践Vue 3.0做JSX(TSX)风格的组件开发
作者:莫夭 转发链接:https://zhuanlan.zhihu.com/p/102668383 前言 我日常工作都是使用React来做开发,但是我对React一直不是很满意,特别是在推出React ...
- vue tree组件_使用Vue 3.0做JSX(TSX)风格的组件开发
前言 我日常工作都是使用React来做开发,但是我对React一直不是很满意,特别是在推出React Hooks以后. 不可否认React Hooks极大地方便了开发者,但是它又有非常多反直觉的地方, ...
- 【Vue知识点- No7.】路由、vant组件库的使用
No7.路由.vant组件库的使用 学习目标 1.能够了解单页面应用概念和优缺点 2.能够掌握vue-router路由系统使用 3.能够掌握链接导航和编程式导航用法 4.能够掌握路由嵌套和路由守卫 5 ...
- Vue 2.0 起步(2) 组件及 vue-router实例 - 微信公众号RSS
参考: Vue 2.0 起步(1) 脚手架工具 vue-cli + Webstorm 2016 + webpack vue-router官方文档 什么是组件? 下面引自官网: 组件(Component ...
- vue子组件mounted不执行_vue 路由子组件created和mounted不起作用的解决方法
vue 路由子组件created和mounted不起作用的解决方法 判断项目是否启用keep-alive 启用 使用exclude排除组件(我没有成功不知道为什么) 使用v-if判断(成功解决) 可以 ...
- vant步进器传值_有赞开源的Vue 2.0 的 Mobile 组件库 Vant
有赞开源的Vue 2.0 的 Mobile 组件库 Vant 是一个轻量.可靠的移动端 Vue 组件库.包括了基础组件.Button 按钮.Cell 单元格.Icon 图标.Image 图片.Layo ...
最新文章
- 实例讲解之校园网病毒该如何铲除
- c# equals与==的区别
- 语言抄袭广东工业大学_CUBA出现消极比赛,广东工业大学与江西师范大学被取消成绩...
- C++打印一个螺旋形的矩阵 a matrix traversing it spirally算法(附完整源码)
- java对象复制到另一个对象中_spring: beanutils.copyproperties将一个对象的数据塞入到另一个对象中(合并对象)...
- complementary prior
- java第一次上机_java第一次上机实验--验证码
- python的魅力在哪_python的优势在哪
- nginx学习(一):基本安装
- Linux网络配置的基本方法
- Asp.net中关于上传文件的各项基本操作
- 在 SQL Server 的存储过程中调用 Web 服务
- 人体神经系统分类图解,人体神经系统分类图片
- VNC远程控制软件,五大容易上手的VNC远程控制软件
- 摘抄笔记 centos内核优化
- android java标准时间_关于android:Java中格林尼治标准时间的毫秒数
- Bert 得到中文词向量
- 学习SQL的侦探游戏
- 第三代测序技术在微生物研究中的应用
- 华为2018款MateBook X Pro实现多屏协同