日期:2014-05-16  浏览次数:20374 次

【Ext小白】两个JS文件之间的变量取值问题
我在一个公共的JS文件(里面是一个tree)里定义了一个变量groupTreeSelected、这个变量在tree触发click事件时进行赋值、在当前的JS文件里都是可以取到变量赋值的值的、但是在另一个JS却取不到正确的值
上代码:
JScript code

Ext.namespace("treeCommon");

var groupTreeSelected = "1";
var root = new Ext.tree.AsyncTreeNode( {
    id : "root",
    text : "树的根"
});

treeCommon.group_tree = new Ext.tree.TreePanel(
        {
            id : 'group_tree',
            root : root,
            height : 500,
            autoScroll : true,
            border : true,
            rootVisible : false,
            autoWidth : true,
            tools:[{
                   id:'refresh',
                   on:{
                    click:function(){
                        treeCommon.tree_refresh();//调用刷新的函数
                    }
                   }
                }],
            loader : new Ext.tree.TreeLoader( {
                dataUrl : '../../js/item/getTree.jsp'
            }),
            listeners : {
                'click' : function(node, event) {
                    event.stopEvent();
                    groupTreeSelected = node;                    var n = tab.getComponent(node.id);
                    if (!n) { // 判断是否已经打开该面板
                    if (node.leaf == true) {
                        groupTreeSelected.select();
                        n = tab.add( {
                                    'id' : node.id,
                                    'title' : node.text,
                                    closable : true, // 通过html载入目标页
                                    html : '<iframe scrolling="auto" frameborder="0" width="100%" height="100%" src=../../jsp/item/toGroupRst.jsp?code=' + node.id + '></iframe>'
                                });
                    }
                }
                tab.setActiveTab(n);
            }
            }
        });


treeCommon.tree_ref=function(){
    groupTreeSelected.parentNode.reload();
};
treeCommon.tree_refresh=function(){
    var tree = Ext.getCmp('group_tree');
    var loader = new Ext.tree.TreeLoader({dataUrl : '../../js/item/getTree.jsp'});
    loader.load(tree.root);
};



我在另一个JS里调用treeCommon.tree_ref()这个方法时,只能获取groupTreeSelected 的初始值、不知道为什么值没有传过去?
请教高手帮我解决下、谢谢了!!!!

------解决方案--------------------
不是点击了才赋值嘛
------解决方案--------------------
既然有命名空间 那你就把变量定义改为:
JScript code
treeCommon.groupTreeSelected = "1";