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

调用js报错 错误: $ is not defined

js火狐报错event is not defined

document is not defined

vue项目加载js报exports is not defined

bundle is not defined 手动搭建项目架构