地区三级联动,新手容易只出现 {{name}} 的一个隐蔽原因

在https://learnku.com/laravel/t/22356 这个答案下找到原因。

在“注册与登陆”那一章节,注意不能把例子的 _header.blade.php 直接覆盖。 例子给的不是完整的,直接覆盖会导致这个问题。

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 10

不是你说的这个问题。是你的app.js引入SelectDistrict.js的时候重复声明了app对象。删掉一个就行了。

4年前 评论

是啊,注释或删除掉一个就ok了。
// 此处需在引入 Vue 之后引入 。地区联动。
window.Vue = require('vue');
require('./components/SelectDistrict');

//
// const app = new Vue({
// el: '#app'
// });

4年前 评论
// Vue.component('example-component', require('./components/ExampleComponent.vue').default);

把这行注释掉就行了

2年前 评论

@bing_ 我没注释 console之前是 Uncaught TypeError: Vue is not a constructor,注释后不报错了,但依旧是 {{ name }}

2年前 评论

兄弟我和你一样,但是我找到解决办法了,这里可以分享一下,我看了一下 github 上的源码,发现有行代码不一样
github.com/summerblue/laravel-shop...
我们默认的是

window.Vue = require('vue');

改成,多了一个 .default

window.Vue = require('vue').default;

我的 app.js 如下

require('./bootstrap');
window.Vue = require('vue').default;
require('./components/SelectDistrict');
const app = new Vue({
    el: '#app',
});

解释如下

  1. 也不需要把 SelectDistrict.js 改为 SelectDistrict.vue
  2. 使用 require 是 CommonJS 的模块导入方式,不支持模块的默认导出,因此导入的结果其实是一个含 default 属性的对象,因此需要使用 .default 来获取实际的组件选项。
2年前 评论
runtom 2年前
runtom 2年前
OneforMe 2年前

require('./bootstrap');
window.Vue = require('vue');
// 此处需在引入 Vue 之后引入
require('./components/SelectDistrict');

const app = new Vue({
el: '#app'
});

用这个可以

1年前 评论

还有一个原因是可能是还没有编译好 检查 package.json 中是否有这三个文件 "vue": "^2.5.17", "vue-loader": "^15.9.5", "vue-template-compiler": "^2.6.10"

如果没有,记得添加进去 把package-lock.json文件 node_modules文件夹删除 运行 npm install npm run dev 就可以正常了

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!