2016-04-25 46 views
0

每當我用它有我的組件裏面的模板中#APP的ID的組件標籤路由/ App.vue返回以下錯誤:VueJS與組件標籤不工作

// components/App.vue 
<template> 
    <div id="app"> 
    <img class="logo" src="./assets/logo.png"> 
    <hello></hello> 
    <a v-link="{ path: '/home' }">Go to Foo</a> 
    <a v-link="{ path: '/about' }">Go to Bar</a> 
    <p> 
     Welcome to your Vue.js app! 
    </p> 
    <router-view></router-view> 
    </div> 
</template> 

錯誤

[vue-router] <router-view> can only be used inside a router-enabled app. 

[vue-router] v-link can only be used inside a router-enabled app. 

但是,如果這樣做沒有組件,只是一個普通的元素與組件ID它正常工作。

<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset="utf-8"> 
    <title>VueJS Starter</title> 
    </head> 
    <body> 
    <div id="app"></div> 
    </body> 
</html> 

是否有無線路由器與網絡組件?因爲必須在元素ID中使用它也不適用於Chrome中的vue-devtools。

+0

我想你可能使用類似骨幹或Ractive其中JS解析模板,然後插入呈現的內容成佔位符。在最頂級的VueJS中,您使用元素ID來掛載整個應用程序。但是,其中的每個ROUTED組件都會插入路由器視圖層次結構中的正確位置。 你似乎試圖做的是將你的應用程序安裝在別的東西的模板中(或者也許Vue本身,我不確定),但這不是它的做法。在文檔中建議另一個傳遞。 http://vuejs.org/guide/index.html –

+0

這個問題與你如何設置你的應用程序有關。我們必須看到你的主要js文件,看看你是如何引導組件的。 – Smalbil

回答

0

請務必在您的main.js文件中提供信息。

在那裏,你應該正確導入和使用路由器,就像這樣:

import VueRouter from 'vue-router'; 
... 
Vue.use(VueRouter);