【发布时间】:2018-07-23 23:59:27
【问题描述】:
我正在尝试学习 VueJS,它进展顺利,但我遇到了一个问题,我无法让多个组件在一个页面上工作,由于某种原因,html 会加载,但我的 export default 中的所有内容都不起作用.
所以我有 2 个组件:一个 ShortenerComponent 和一个 StatsComponent ShortenerComponent 可以正常工作并完成它应该做的所有事情,但 StatsComponent 只会加载 html 而不会在 export default 内做任何事情@这是我的代码:
StatsComponent.vue(除了方法和html之外,ShortenerComponent是一样的。):
<script>
// get the csrf token from the meta
var csrf_token = $('meta[name="csrf-token"]').attr('content');
export default {
data() {
return {
};
},
test() {
this.getStats();
},
methods: {
// get all the existing urls
getStats() {
console.log('console log something');
axios.get('urls').then((response) => {
console.log('console log something');
});
},
}
}
我的缩短组件:
<script>
// get the csrf token from the meta
var csrf_token = $('meta[name="csrf-token"]').attr('content');
export default {
data() {
return {
shortUrl: '',
url: '',
error: '',
};
},
methods: {
createUrl() {
axios({
method: 'post',
url: '/',
data: {
_token: csrf_token,
url: this.url
},
}).then(response => {
console.log(response);
this.shortUrl = response.data.hash;
}).catch(error => {
this.error = error.response.data.message;
});
}
}
}
最后但并非最不重要的是我的 app.js 文件
Vue.component('shortener',require('./components/ShortenerComponent.vue'));
Vue.component('stats', require('./components/StatsComponent.vue'));
var vue = new Vue({
el: '#app',
});
我希望有人能弄清楚我做错了什么:D
【问题讨论】:
-
你能在控制台显示什么错误吗?
-
控制台未显示错误
-
你在使用 webpack 吗?还要确保在 webpack 中正确设置了 vue-loader。
-
您的组件中没有数据、没有挂载、没有创建的属性。您希望展示什么?
-
什么是
test?应该在methods中吗?
标签: javascript html laravel vue.js