錯誤一:javascript
[Vue warn]: Property or method "$t" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by initializing the property.vue
解決方案:java
若是沒有安裝vuex和vuex-i18n須要先安裝,而後在main.js中引入如下代碼。在new Vue的時候,把store寫上react
new Vue({
router,
store,
render: h => h(App)
}).$mount('#app-box')vuex
import Vuex from 'vuex'; import vuexI18n from 'vuex-i18n'; Vue.use(Vuex); const store = new Vuex.Store({ modules: { i18n: vuexI18n.store } }); Vue.use(vuexI18n.plugin, store); const translationsEn = { "content": "This is some {type} content" }; Vue.i18n.add('en', translationsEn); Vue.i18n.set('en');
或者直接把$t刪除,直接用相應的漢語或者英語。app
$t是一個翻譯函數,若是你的項目不須要國際化,切換語言,那麼你就能夠把$t刪除。函數
錯誤二:this
Uncaught TypeError: Cannot read property 'alert' of undefined at evalspa
解決方案:插件
import { AlertPlugin, DatetimePlugin, ConfirmPlugin, LoadingPlugin, ToastPlugin } from 'vux' Vue.use(AlertPlugin) Vue.use(DatetimePlugin) Vue.use(ConfirmPlugin) Vue.use(LoadingPlugin) Vue.use(ToastPlugin)
在main.js中加入以上代碼,沒有用到的插件能夠不引入。以上幾個是我總結出來的容易報錯的幾個插件。錯誤緣由是你的代碼中使用了 this.$vux.alert等相似代碼,而$vux是在插件中向vue中添加的,因此得引入相應的插件。