我和这些人一起玩#861911_ . 我已成功完成Laravel Passport教程 . 现在我要做的是将我的html模板放在刀片文件中,将js代码放在Vue组件中 . 但是我收到了这个错误:
[Vue警告]:无法安装组件:未定义模板或渲染功能 . (在组件中找到)
所以我无法理解这个错误的原因,因为我是Vue.js的新手 . 如果有人知道答案,我们将不胜感激 . 这是我的代码 .
Blade file
<body>
<div id="app">
<tasks></tasks>
</div>
<template id="tasks-template">
<ul class="list-group">
<li class="list-group-item" v-for="task in list">
@{{task.body}}
</li>
</ul>
</template>
<script src="/js/app.js"></script>
</body>
/resources/assets/js/app.js
require('./bootstrap');
Vue.component('tasks', require('./components/Tasks'));
const app = new Vue({
el: '#app'
});
/resources/assets/js/components/Tasks.js
export default {
template: '#tasks-template',
data: function () {
return {
list: ''
};
},
created: function() {
this.$http.get('/api/tasks').then((response) => {
this.list = response.body;
}, (response) => {
alert(0);
});
}
}
UPDATE
Blade file
<body>
<div id="app">
<tasks></tasks>
</div>
</body>
/resources/assets/js/components/Tasks.js
template: require('../components/tasks-template.html'),
代替
template: '#tasks-template'
/resources/assets/js/components/tasks-template.html
<ul class="list-group">
<li class="list-group-item" v-for="task in list">
{{task.body}}
</li>
</ul>
但现在得到这个错误 .
未捕获错误:模块解析失败:/var/www/html/casesync/resources/assets/js/components/tasks-template.html意外令牌(1:0)您可能需要适当的加载程序来处理此文件类型 . | | | @ {}
2 回答
假设你有你的模板文件
那么Tasks.js就是
您可以将app.js作为
UPDATE
对于在Laravel5.3上运行的默认/开箱即用
webpack
配置,您需要通过npm拉入html-loader
然后在gulpfile.js中 - 指定
html-loader
用于.html
文件 .最后,您可以在主/条目文件
app.js
中注册全局组件我得到了@Alfa的帮助here
它应该是require('./ components / Example.vue') . 默认 . 从v13开始,vue-loader将组件导出为默认密钥,使用import时仍然可以正常工作,但在使用require时需要使用上述密钥 .