0

我正在使用 Vuevue-routervue-strap. 我正在尝试从 注册组件vue-strap,但示例如下所示:

var alert = require('vue-strap').alert;

new Vue({
  components: {
    alert: alert
  }
})

vue-router,另一方面,不创建Vue对象。

Vue.use(VueRouter);

const router = new VueRouter({
  history: true,
  linkActiveClass : 'active'
});

router.map({
  '/': {
    component: Home
  }
});

const App = Vue.extend(Index);
router.start(App, '#root');

那么如何声明我的组件呢?

4

2 回答 2

1

这是我当前在 vue 应用程序中的设置

var Vue = require('vue');
var VueRouter = require('vue-router');


// Use
Vue.use(require('vue-resource'));
Vue.use(VueRouter);


// Components
var site = Vue.component('site', require('./views/site/component.vue'));
var home = Vue.component('home', require('./views/home/component.vue'));
var search = Vue.component('search', require('./views/search/component.vue'));
var index = Vue.component('index', require('./views/index/component.vue'));

// Router
var router = new VueRouter({
    history: true
});
router.map({
    '/': {
        component: index
    },
    '/search': {
        component: search
    },
    '/profile': {
        component: home
    }
})


// Start App
router.start(site, 'body');

所有“主要”组件都使用 .component 全局声明。我使用 .extend 声明的组件级别所需的一切。在 vue-router 中,“站点”组件(在我的例子中)充当 $root。

顶部菜单/侧边栏在组件部分的站点组件中声明。在“站点”模板中,我只有其他共享组件,例如顶部菜单/侧边栏。

于 2016-09-09T13:17:35.810 回答
0

你可以试试,

import { alert } from 'vue-strap'
Vue.use(VueRouter);

const router = new VueRouter({
  history: true,
  linkActiveClass : 'active'
});

router.map({
  '/': {
    component: alert
  }
});

const App = Vue.extend(Index);
router.start(App, '#root');
于 2017-07-07T14:00:43.757 回答