Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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 在dojo中的另一个js中使用主函数_Javascript_Jsf 2_Primefaces_Dojo_Scope - Fatal编程技术网

Javascript 在dojo中的另一个js中使用主函数

Javascript 在dojo中的另一个js中使用主函数,javascript,jsf-2,primefaces,dojo,scope,Javascript,Jsf 2,Primefaces,Dojo,Scope,我有一个由JSF和dojo创建的项目。 在我的main.js中,我有一个函数,可以执行以下操作: define( ["./util/Query", "dojo/domReady!" ], function(Query) { // ... some extra stuff here var queryFunctions = new Query(someVar); // some extra stuff ... }); 我还创建了

我有一个由JSF和dojo创建的项目。 在我的main.js中,我有一个函数,可以执行以下操作:

define(
    ["./util/Query", "dojo/domReady!" ],
    function(Query) {
        // ... some extra stuff here

        var queryFunctions = new Query(someVar);

        // some extra stuff ...
});
我还创建了一个名为Query的模块:

define(["dojo/_base/declare"],
    function(declare) {
        return declare(null, {
            _someVar: null,

            constructor: function(SomeVar) {
                this._someVar = SomeVar;
            },
            functionOne: function(xhr, status, args) {
                // some stuff here;
            }
        });
});
在我的JSF文件中,我有一个ajax标记,用于向bean函数发出ajax请求,然后更新dom对象:

<p:ajax update="someDOM"
    listener="#{myBean.changeHandler}"
    oncomplete="functionOne(xhr, status, args)" />


基本上,我想使用查询模块中的functionOne()函数。我无法直接访问ajax标记中的queryFunctions变量。我怎样才能做到这一点呢?

通过DOM处理事件是一种限制。您可以全局范围
queryFunctions
,以便可以从DOM访问它,但是,全局变量被视为一个变量,您应该尽可能少地使用它们。在这种情况下,你可以考虑这样做(如果没有其他方法)。
更好的方法是用JavaScript处理
oncomplete
事件,但我不知道这将如何发生(不熟悉JSF)。

感谢您的帮助,但我认为我无法为JSF ajax oncomplete编写事件处理程序,至少据我所知不是这样。然后,您必须将
queryFunctions
设置为全局。