美文网首页程序员
(17)打鸡儿教你Vue.js

(17)打鸡儿教你Vue.js

作者: 魔王哪吒 | 来源:发表于2019-07-02 20:59 被阅读10次

vue-router

image.png
<a class="list-group-item" v-link="{ path: '/home'}">Home</a>
<a class="list-group-item" v-link="{ path: '/about'}">About</a>
/* 创建路由器  */
var router = new VueRouter()
image.png

创建组件:

<script src="js/vue.js"></script>
<script src="js/vue-router.js"></script>

创建Router:

var router = new VueRouter()

映射路由:

router.map({
    '/home': { component: Home },
    '/about': { component: About }
})

key是路径,value是组件

<div class="list-group">
    <a class="list-group-item" v-link="{ path: '/home'}">Home</a>
    <a class="list-group-item" v-link="{ path: '/about'}">About</a>
</div>

v-link指令跳转到指定路径

<router-view></router-view>

启动路由

var App = Vue.extend({})
router.start(App, '#app')

router.start(App, '#app') 表示router会创建一个App实例

创建组件:创建单页面应用需要渲染的组件
创建路由:创建VueRouter实例
映射路由:调用VueRouter实例的map方法
启动路由:调用VueRouter实例的start方法

使用v-link指令
使用<router-view>标签

router.redirect

html

使用v-link指令
使用<router-view>标签

router.redirect

router.redirect({
'/': '/home'
})

router.redirect方法用于为路由器定义全局的重定向规则

路径/home/news和/home/message

一个路径映射一个组件

<div>
<h1>home</h1>
<p>{{msg}}</p>
</div>

<ul class="nav nav-tabs">
<li>
<a v-link="{path: '/home/news'}"> News </a>
</li>

</ul>

组件构造器:

var Home = Vue.extend({
template: '#home',
data: function(){
 return {
 msg: 'hello'
 }
 }
})

var News = Vue.extend({
 template: '#news'
})

var Message = Vue.extend({
 template: '#message'
})

路由映射

router.map({
'/home': {
component: Home,
// 定义子路由
subRoutes: {
'/news': {
 component: News
 },
 '/message': {
 component: Message
 }
 }
},
'/about': {
 component: About
}
})
 <!DOCTYPE html> 
 <html> 
 
  <head> 
 <meta charset="UTF-8"> 
 <title></title> 
 <link rel="stylesheet" href="//bootswatch.com/flatly/bootstrap.css"/> 
 <link rel="stylesheet" href="assets/css/custom.css" /> 
 </head> 
 
  <body> 
 <div id="app"> 
 <div class="row"> 
 <div class="col-xs-offset-2 col-xs-8"> 
 <div class="page-header"> 
 <h2>Router Basic - 02</h2> 
 </div> 
 </div> 
 </div> 
 <div class="row"> 
 <div class="col-xs-2 col-xs-offset-2"> 
 <div class="list-group"> 
 <a class="list-group-item" v-link="{ path: '/home'}">Home</a> 
 <a class="list-group-item" v-link="{ path: '/about'}">About</a> 
 </div> 
 </div> 
 <div class="col-xs-6"> 
 <div class="panel"> 
 <div class="panel-body"> 
 <router-view></router-view> 
 </div> 
 </div> 
 </div> 
 </div> 
 </div> 
 
  <template id="home"> 
 <div> 
 <h1>Home</h1> 
 <p>{{msg}}</p> 
 </div> 
 <div> 
 <ul class="nav nav-tabs"> 
 <li> 
 <a v-link="{ path: '/home/news'}">News</a> 
 </li> 
 <li> 
 <a v-link="{ path: '/home/message'}">Messages</a> 
 </li> 
 </ul> 
 <router-view></router-view> 
 </div> 
 </template> 
 
  <template id="news"> 
 <ul> 
 <li>News 01</li> 
 <li>News 02</li> 
 <li>News 03</li> 
 </ul> 
 </template> 
 <template id="message"> 
 <ul> 
 <li>Message 01</li> 
 <li>Message 02</li> 
 <li>Message 03</li> 
 </ul> 
 </template> 
 
  <template id="about"> 
 <div> 
 <h1>About</h1> 
 <p>This is the tutorial about vue-router.</p> 
 </div> 
 </template> 
 
  </body> 
 <script src="js/vue.js"></script> 
 <script src="js/vue-router.js"></script> 
 <script> 
 var Home = Vue.extend({ 
 template: '#home', 
 data: function() { 
 return { 
 msg: 'Hello, vue router!' 
 } 
 } 
 }) 
 
  var News = Vue.extend({ 
 template: '#news' 
 }) 
 
  var Message = Vue.extend({ 
 template: '#message' 
 }) 
 
  var About = Vue.extend({ 
 template: '#about' 
 }) 
 
  var router = new VueRouter() 
 router.redirect({ 
 '/': '/home' 
 }) 
 router.map({ 
 '/home': { 
 component: Home, 
 // 定义子路由 
 subRoutes: { 
 '/news': { 
 component: News 
 }, 
 '/message': { 
 component: Message 
<a v-link="'home'"> home </a>

<a v-link="{ path: 'home' }">home</a>

<a v-link="{name: 'detail', params: {id: '01'} }">home</a>
$route.path 
当前路由对象的路径

$route.params 
包含路由中的动态片段和全匹配片段的键值对

$route.query 
包含路由中查询参数的键值对

$route.router 
路由规则所属的路由器

$route.name 
当前路径的名字

执行以下命令安装vue cli

npm install -g vue-cli

使用vue-webpack-simple模板

运行Git Bash Here

vue init webpack-simple my-webpack-simple-demo
image.png image.png

安装项目依赖

cd my-webpack-simple-demo
npm install

运行示例

npm run dev

发布

npm run build

使用vue-webpack模板

vue init webpack my-webpack-demo

安装依赖

cd my-webpack-demo
npm install

运行示例

npm run dev

发布

npm run build

请点赞!因为你的鼓励是我写作的最大动力!

官方微信公众号

吹逼交流群:711613774

吹逼交流群

相关文章

  • (17)打鸡儿教你Vue.js

    vue-router 创建组件: 创建Router: 映射路由: key是路径,value是组件 v-link指令...

  • (2)打鸡儿教你Vue.js

    Vue双向绑定 语法:v-bind:title="msg"简写::title="msg" key属性 -class...

  • (3)打鸡儿教你Vue.js

    vue.js是一套构建用户界面的渐进式框架vue关注视图层,采用自底向上增量开发的设计 vue.js安装下载 vu...

  • (20)打鸡儿教你Vue.js

    vue-cli 快速创建工程,工程化项目目录 https://www.bootcdn.cn/ https://ww...

  • (21)打鸡儿教你Vue.js

    组件化思想: 组件化实现功能模块的复用 高执行效率 开发单页面复杂应用 组件状态管理(vuex) 多组件的混合使用...

  • (23)打鸡儿教你Vue.js

    实例: 模板语法vue-router,vuex以及调式方法介绍打包部署: Webpack 目前无论在求职还是工作中...

  • (22)打鸡儿教你Vue.js

    vue.js 单页面,多页面 Vue cli工具复杂单页面应用Vue cli工具 交互设计,逻辑设计,接口设计 代...

  • (27)打鸡儿教你Vue.js

    v-for 数组参数的顺序 当含有index时,以前传递的参数顺序是:(index, value)。现在(valu...

  • (19)打鸡儿教你Vue.js

    了解vue2.x的核心技术 建立前端组件化的思想 常用的vue语法 vue-router,vuex,vue-cli...

  • (26)打鸡儿教你Vue.js

    weex框架的使用 1、weex开发入门2、weex开发环境搭建3、掌握部分weex组件模块4、了解一些vue基本...

网友评论

    本文标题:(17)打鸡儿教你Vue.js

    本文链接:https://www.haomeiwen.com/subject/blsncctx.html