【发布时间】:2017-08-10 22:22:55
【问题描述】:
我在 Laravel 5.4 中工作,而 Vue 组件没有显示/更新。 我开始一个新项目并在 web.php 中创建一个路由 /chat
这是chat.blade.php
<!DOCTYPE html>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="css/app.css">
</head>
<body>
<div id="app">
<example></example>
<chat></chat>
</div>
<script type="text/javascript">
window.Laravel = { csrfToken: '{{ csrf_token() }}' };
</script>
<script src="js/app.js"></script>
</body>
</html>
这是 app.js
require('./bootstrap');
Vue.component('example', require('./components/Example.vue'));
Vue.component('chat', require('./components/Chat.vue'));
const app = new Vue({
el: '#app'
});
示例和聊天组件是一些基本模板,我没有传递任何数据,只是纯文本。
聊天.vue
<template lang="html">
<div id="content">
<h1>Messages</h1>
<p>Message text</p>
<small>Hiii</small>
</div>
</template>
<script>
export default {
}
</script>
当我第一次运行 php artisan 时,一切正常。我尝试在 Chat.vue 中编辑一些文本,例如将“Hiiii”更改为 Hello,当我重新加载页面时它不会改变,它只是保持不变。我尝试重新启动电脑,再次运行 php artisan,我能想到的任何事情。 我尝试将一些 Vue 代码直接放在 chat.blade.php 中,然后它就可以工作了。看起来它没有检测到 app.js 和组件的变化。 仅供参考,我什至删除了 Example.vue 组件。它仍然出现在页面上。
【问题讨论】:
-
我不知道 Laravel 在引擎盖下做了什么以及它如何编译东西,但我认为 php artisan 不关心 Javascript。你有没有试过在编辑文件后运行
npm run dev? -
您也可以使用
npm run watch,以便在更改时重新编译文件,这样可以节省所有后续请求的初始开销。 -
现在可以使用了,谢谢!
标签: laravel vue.js vuejs2 vue-component