我感到迷路了。
我已经在项目中使用了Vue-CLI。我已经安装了Vuerouter。一切都好。我想在VUE组件中使用视图资源,但找不到为什么它不起作用。
这是我的Main.js(我正在使用webpack)
import Vue from 'vue'
import VueRouter from 'vue-router'
var VueResource = require('vue-resource')
Vue.use(VueRouter)
Vue.use(VueResource)
const router = new VueRouter({
routes: [{
path: '/',
component: require('./components/index.vue')
},
{
path: '/products/stock',
component: require('./components/stock.vue')
},
{
path: '/products/seo',
component: require('./components/seo.vue')
},
{
path: '/settings',
component: require('./components/settings.vue')
}
]
})
new Vue({
el: '#app',
router,
data: {
message: 'Hello Vue!'
},
mounted: () => {
console.log("APP MOUNTED")
},
render: h => h(require('./App.vue'))
})
当我转到/#/product/seo时有代码:
<template>
<div id="app">
Seo tabs du fastmanager {{ message }}
<input type="text" name="" v-model="message">
</div>
</template>
<script>
export default {
data: () => {
return {
message: "Hello buddy"
}
},
mounted: () => {
console.log("SEO MOUNTED")
this.$http.get('/').then((response) => {
// success callback
}, (response) => {
// error callback
});
}
}
</script>
<style lang="css">
</style>
我在JS控制台中有这个错误。
seo.vue?468d:18uncaught typeError:无法阅读不确定的属性(…)
vue资源在 main.js 中运行良好。
所以,我认为这是因为该视图是在应用程序之前加载的。我不知道该怎么做。对不起,英语不好。
好吧。
在我的seo.vue中,我说:
<template>
<div id="app">
Seo tabs du fastmanager
<textarea type="text" name="" cols="40" rows="10" v-model="message"></textarea>
<button type="button" v-on:click="test" name="button">Test</button>
</div>
</template>
<script>
var Vue = require('vue')
export default {
data: () => {
return {
message: "Coucou"
}
},
mounted: function()
{
console.log(this)
},
methods: {
test: function(){
Vue.http.get('https://jsonplaceholder.typicode.com/posts/1').then((response) => {
console.log("SUCCESS",response);
this.message = response
}, (response) => {
console.log("ERROR",response);
// error callback
});
}
}
}
</script>
<style lang="css">
</style>
dit工作正常。
也许是因为您尚未安装WebPack或删除NPM_Modules文件夹,并使用npm install
重新安装了所有软件包,但是WebPack不在package.lock.json