Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 需要具有常规函数的JS_Javascript_Requirejs - Fatal编程技术网

Javascript 需要具有常规函数的JS

Javascript 需要具有常规函数的JS,javascript,requirejs,Javascript,Requirejs,我刚刚开始使用requireJS,我想知道如何访问需要jQuery的常规方法 假设我有一个叫做displayError的方法 既然它已经不在全球范围内了,我该怎么称呼它呢 我试着用以下方法将其设置到窗口: window.displayError=函数(消息){ ... } 但这也不起作用 代码如下所示: require(['jquery'],function($){ window.show_save_state = function(state, message, time) {

我刚刚开始使用requireJS,我想知道如何访问需要jQuery的常规方法

假设我有一个叫做displayError的方法

既然它已经不在全球范围内了,我该怎么称呼它呢

我试着用以下方法将其设置到窗口:

window.displayError=函数(消息){ ... }

但这也不起作用

代码如下所示:

require(['jquery'],function($){
window.show_save_state = function(state, message, time)
    {
        $(".save-state").remove();
        var save_state = $("<div />").addClass("save-state").appendTo("body");
        var newMessage = "";
        switch (state) {
            case 0:
                newMessage = lang("error");
                save_state.addClass("error");
                break;
            case 1:
                newMessage = lang("wait");
                save_state.addClass("wait");
                break;
            case 2:
                newMessage = lang("saved");
                save_state.addClass("saved");
                break;
        }
        var mMessage = (typeof message !== "undefined" && message != "") ? message : newMessage;
        save_state.html("<span class='save-state-circle'>" + mMessage + "</span>");
        save_state.show();
        time = (typeof time !== "undefined") ? time : 2000;
        time = (typeof message === "undefined" && state == 1) ? 0 : time;
        if (time > 0) {
            setTimeout(function() {
                save_state.fadeOut(200, function() {
                    save_state.remove();
                })
            }, time);
        }
    }
    window.hide_save_state = function() {
        $(".save_state").remove();
    }
});
define([
    "jquery"
], function(
    $
) {
    var con = {
        displayError: function (message) {
            // ...code...
        },

        displaySomethingElse: function (foo) {
            // ...code...
        }
    };

    return con;
});
require(['jquery'],函数($){
window.show\u save\u state=功能(状态、消息、时间)
{
$(“.save state”).remove();
var save_state=$(“”)。addClass(“save state”)。appendTo(“body”);
var newMessage=“”;
开关(状态){
案例0:
newMessage=lang(“错误”);
save_state.addClass(“错误”);
打破
案例1:
newMessage=lang(“等待”);
save_state.addClass(“wait”);
打破
案例2:
newMessage=lang(“已保存”);
save_state.addClass(“已保存”);
打破
}
var mMessage=(消息类型!=“未定义”&&message!=”)?消息:newMessage;
save_state.html(“+mMessage+”);
save_state.show();
时间=(时间类型!=“未定义”)?时间:2000;
时间=(消息类型==“未定义”&&state==1)?0:时间;
如果(时间>0){
setTimeout(函数(){
保存状态。淡出(200,函数(){
保存状态。删除();
})
},时间);
}
}
window.hide\u save\u state=函数(){
$(“.save_state”).remove();
}
});

使用require的主要目的之一是将垃圾排除在全局命名空间之外。假设您有一个文件
con.js
,其中保存控制台显示消息(包括
displayError
),如下所示:

require(['jquery'],function($){
window.show_save_state = function(state, message, time)
    {
        $(".save-state").remove();
        var save_state = $("<div />").addClass("save-state").appendTo("body");
        var newMessage = "";
        switch (state) {
            case 0:
                newMessage = lang("error");
                save_state.addClass("error");
                break;
            case 1:
                newMessage = lang("wait");
                save_state.addClass("wait");
                break;
            case 2:
                newMessage = lang("saved");
                save_state.addClass("saved");
                break;
        }
        var mMessage = (typeof message !== "undefined" && message != "") ? message : newMessage;
        save_state.html("<span class='save-state-circle'>" + mMessage + "</span>");
        save_state.show();
        time = (typeof time !== "undefined") ? time : 2000;
        time = (typeof message === "undefined" && state == 1) ? 0 : time;
        if (time > 0) {
            setTimeout(function() {
                save_state.fadeOut(200, function() {
                    save_state.remove();
                })
            }, time);
        }
    }
    window.hide_save_state = function() {
        $(".save_state").remove();
    }
});
define([
    "jquery"
], function(
    $
) {
    var con = {
        displayError: function (message) {
            // ...code...
        },

        displaySomethingElse: function (foo) {
            // ...code...
        }
    };

    return con;
});
然后,以最基本的形式,您可以通过require语句运行此方法,如下所示:

require('con').displayError('Move every zig!');
或在另一个子模块内,如:

define([
    "con"
], function(
    con
) {
    var submodule = {
        someMethod: function () {
            con.displayError('Watership Down');
        }
    };

    return submodule;
});

使用require的主要目的之一是将垃圾排除在全局命名空间之外。假设您有一个文件
con.js
,其中保存控制台显示消息(包括
displayError
),如下所示:

require(['jquery'],function($){
window.show_save_state = function(state, message, time)
    {
        $(".save-state").remove();
        var save_state = $("<div />").addClass("save-state").appendTo("body");
        var newMessage = "";
        switch (state) {
            case 0:
                newMessage = lang("error");
                save_state.addClass("error");
                break;
            case 1:
                newMessage = lang("wait");
                save_state.addClass("wait");
                break;
            case 2:
                newMessage = lang("saved");
                save_state.addClass("saved");
                break;
        }
        var mMessage = (typeof message !== "undefined" && message != "") ? message : newMessage;
        save_state.html("<span class='save-state-circle'>" + mMessage + "</span>");
        save_state.show();
        time = (typeof time !== "undefined") ? time : 2000;
        time = (typeof message === "undefined" && state == 1) ? 0 : time;
        if (time > 0) {
            setTimeout(function() {
                save_state.fadeOut(200, function() {
                    save_state.remove();
                })
            }, time);
        }
    }
    window.hide_save_state = function() {
        $(".save_state").remove();
    }
});
define([
    "jquery"
], function(
    $
) {
    var con = {
        displayError: function (message) {
            // ...code...
        },

        displaySomethingElse: function (foo) {
            // ...code...
        }
    };

    return con;
});
然后,以最基本的形式,您可以通过require语句运行此方法,如下所示:

require('con').displayError('Move every zig!');
或在另一个子模块内,如:

define([
    "con"
], function(
    con
) {
    var submodule = {
        someMethod: function () {
            con.displayError('Watership Down');
        }
    };

    return submodule;
});

设置
window.displayError
应该可以在设置全局变量方面起作用,但是RequireJS/AMD的基本思想是不需要这样做。你能显示更多的代码吗?设置
窗口。displayError
应该可以设置一个全局值,但是RequireJS/AMD的基本思想是你不需要这样做。你能展示更多的代码吗?