1、在main.js中引入vue-router插件(引用组件地址)和vue-resource(为了使用外部json数据)插件。

import vueRouter from 'vue-router'
import vueResource from 'vue-resource'

2、在main.js中启用两个插件。

Vue.use(vueRouter)
Vue.use(vueResource) 

3、如果在components中的新建的vue组件需要被使用的话,那么同样也是需要先引用再注册的。注意:1、引用后面是没有“,”的。2、BooksInfo、AddBooks这些是可以自己命名的。3、“components/BooksInfo”这里的BookInfo只是省略了.vue的后缀,别想咋咋地。

import BooksInfo from './components/BooksInfo'
import AddBooks from './components/AddBooks'
import AboutUs from './components/AboutUs'
import BooksDetails from './components/BooksDetails'
import ChangeBooks from './components/ChangeBooks'

4、在main.js中实例化一个路由,并配置路由(可能点不准确),注意:1、如果你在components中的其他vue组件没有建立就不要引用了。2、{path:"/",component:BooksInfo}中的component没有s不要画蛇添足。3、在每个{path:"/",component:BooksInfo}后面如果有注册组件的行为记得加“,”。4、注意跨组件传输数据的格式。

const router=new vueRouter({
    mode:"history",
    base:__dirname,
    routes:[
    // 注册显示信息的根组件
    {path:"/",component:BooksInfo},
    // 注册添加图书信息组件
    {path:'/AddBooks',component:AddBooks},
    // 注册关于我们组件
    {path:"/AboutUs",component:AboutUs},
    // 注册书籍详细信息组件,注意:因为需要跨组件传输数据,所以在路由地址上需要有所改变,下同
    {path:"/BooksDetails/:id",component:BooksDetails},
    // 注册书籍修改组件
    {path:'/ChangeBooks/:id',component:ChangeBooks}
    ]
})

5、我的项目引用了bootstrap框架,所以需要在程序的入口index.html中引用对应的数据

    <link rel="stylesheet" href="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/css/bootstrap.min.css">  
    <script src="http://cdn.static.runoob.com/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/js/bootstrap.min.js"></script>
6、在main.js的实例vue对象中,像下面这样。注意:1、“templete:”后面的符号是tab键上面的按键(英文状态下)。2、代码中的<router-link>类似a标签,但是它必须和to配套在一起,不写会报错,to里面的是组件的注册的path。3、<router-view>是为了渲染<router-link>组件。4、$mount("#app")表示手动挂载带id为app的组件中。
new Vue({
  router,
  template: `
  <div id="app">
      <nav class="navbar navbar-default">
      <div class="container">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <router-link class="navbar-brand" to="/">图书馆信息管理平台</router-link>
        </div>
        <div id="navbar" class="collapse navbar-collapse">
          <ul class="nav navbar-nav">
            <li><router-link to="/">首页</router-link></li>
            <li><router-link to="/AboutUs">关于我们</router-link></li>
          </ul>
          <ul class="nav navbar-nav navbar-right"> 
            <li><router-link to="/AddBooks">添加书籍</router-link></li>
          </ul>
        </div><!--/.nav-collapse -->
      </div>
      </nav>
      <router-view></router-view>
  </div>
  `
}).$mount("#app")

Logo

前往低代码交流专区

更多推荐