大虾们,我想在自己定义的两个部件中做个订阅发布,就是在用户登录的时候发布用户登录信息,而其他部件关于这个用户信息的自动触发改变,该怎么写啊,我看了很多demo,但是人家都是写在一个页面的,我不知道该怎么写,悟性差
我的两个部件是这样的login.js
dojo.provide("top.login");
    dojo.require("dijit._Widget");
    dojo.require("dijit._Templated");
    dojo.declare(
"top.login",
 [dijit._Widget,dijit._Templated],
{      widgetsInTemplate: true,  //在Widget申报 widgetsInTemplate, 如果不加载的话模板中的部分dijit部件将无法正常显示
   templatePath: dojo.moduleUrl("top","templates/login.html"),  
_save:function(){

       this.greet= u.setUserInfo(this.userNameNode.value,this.deptNameNode.value); // 希望在保存数据的时候就应该发布消息,对么
        dijit.byId("dialog").hide();
      dijit.byId("topBar")._userinfo();
      
       
    }, 
   
    startup:function(){

    },
   
    }

);
topBar.js 的合心代码
  _userinfo:function(){
     // dojo.subscribe(u,this,"this.userinfoNode.innerHTML");
       
         var getUserInfo = u.getUserInfo(); 
               
       this.userinfoNode.innerHTML =u.getUserInfo(); //这个是取值的并在这里显示,该如何订阅呢?
      },
common.js  (一个公用函数)function utils(){
}(function(){
var userinfo={};
utils.prototype.setUserInfo=function(userName,deptName){
userinfo.userName = userName;
userinfo.deptName = deptName;

}

utils.prototype.getUserInfo=function(){
return userinfo;
}

utils.prototype.getUserInfo = function(){
       return "欢迎您【"+userinfo.deptName+"】"+userinfo.userName;
}
})(); var u = new utils();