使用Laravue库本地运行报错:createElement执行失败
解决Laravue本地运行时的
createElement DOMException错误 这个错误的核心问题是Vue把插值字符串当成了字面量标签名,而不是解析成你期望的组件名。咱们一步步来修复:
直接修改组件绑定写法
把你app.blade.php里的component标签改成这样:
<component :is="laravue.currentView" :app="laravue.app" keep-alive></component>
为什么这样改?
- 用
v-bind(简写:is)绑定变量:原来的is="@{{laravue.currentView }}"是把{{laravue.currentView}}作为字符串传给了is属性,Vue会直接尝试创建名为{{laravue.currentView}}的元素——这显然不是合法的HTML标签名,所以抛出了错误。而:is会告诉Vue:“后面的是一个Vue变量,去解析它的值作为组件名”。 - 避免Blade与Vue的语法冲突:用
v-bind绑定变量后,不需要再用@转义Vue的插值语法,因为咱们已经不再依赖{{}}来传递值了,自然也就不会和Laravel Blade的模板语法冲突。
额外检查点
- 确认
laravue.currentView的大小写和你实际定义的一致(错误提示里是currentview小写,你的代码里是currentView驼峰,别因为大小写拼写错误导致变量值为undefined)。 - 确保
laravue对象已经正确初始化并挂载,Vue能正常访问到laravue.currentView这个属性。
内容的提问来源于stack exchange,提问作者edzel abliter
相关产品推荐
相关产品推荐

