js is not defined 如何判断
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js is not defined 如何判断相关的知识,希望对你有一定的参考价值。
参考技术A 没有定义。看看是不是有些变量和函数格式写错了。 参考技术B 没定义,那么可以查看一下引用路径(外部引用),输入是否正确(汉字还是拼音),你的js写的是否正确(语法),如果是用了jquery,查看一下是否引用了jquery.min(类似引用)如何解决 Uncaught ReferenceError: bus is not defined? (vue.js 2)
【中文标题】如何解决 Uncaught ReferenceError: bus is not defined? (vue.js 2)【英文标题】:How to solve Uncaught ReferenceError: bus is not defined? (vue.js 2) 【发布时间】:2017-07-06 09:54:36 【问题描述】:我遵循这个教程:https://vuejs.org/v2/guide/components.html#Non-Parent-Child-Communication
将数据从一个组件传递到另一个组件
请看下面我的案例。我试试这样
我的看法是这样的:
<div class="row">
<div class="col-md-3">
<search-filter-view ...></search-filter-view>
</div>
<div class="col-md-9">
<search-result-view ...></search-result-view>
</div>
</div>
我的搜索过滤视图组件是这样的:
<script>
export default
props:[...],
data()
return
...
,
methods:
filterBySort: function (sort)
bus.$emit('sort-param', sort)
this.sort = sort
...
</script>
我的搜索结果视图组件是这样的:
<script>
export default
props:[...],
data()
return
...
,
methods:
getVueItems: function(page)
bus.$on('sort-param', function (sort)
console.log(sort);
)
...
</script>
我在 \resources\assets\js\app.js 上添加 var bus = new Vue();
所以它可以在任何地方访问
我想将排序参数(filterBySort方法,组件一)的值显示到getVueItems方法(组件二)
执行时,控制台中存在如下错误:
Uncaught ReferenceError: bus is not defined
我该如何解决这个错误?
【问题讨论】:
【参考方案1】:您需要确保定义变量var bus = new Vue();
的代码在使用此变量的代码之前执行。
另外,确保总线变量可以被使用它的代码访问。
【讨论】:
【参考方案2】:您需要从App.vue
中导出变量总线并将其导入您需要的任何位置。
我个人做的是为它创建一个专用文件:bus.js
import Vue from 'vue'
export default new Vue()
并在需要的地方像这样导入它:
import bus from 'path/of/bus'
<script>
export default
props:[...],
data()
return
...
,
methods:
filterBySort: function (sort)
bus.$emit('sort-param', sort)
this.sort = sort
...
</script>
【讨论】:
监听事件怎么样?以上是关于js is not defined 如何判断的主要内容,如果未能解决你的问题,请参考以下文章
UnhandledPromiseRejectionWarning: ReferenceError: member is not defined discord.js