locChged: function() { var me = this; var view = me.view; if (view && view.sign > 0 && view.rendered) { //存在view时才进行广播,对于加载中的可在加载完成后通过调用view.location拿到对应的window.location.href对象,对于销毁的也不需要广播 var isChanged = view.olChanged(RefChged); /** * 事件对象 * @type {Object} * @ignore */ var args = { location: RefLoc, changed: RefChged, /** * 阻止向所有的子view传递 * @ignore */ prevent: function() { this.cs = EmptyArr; }, /** * 向特定的子view传递 * @param {Array} c 子view数组 * @ignore */ toChildren: function(c) { c = c || EmptyArr; if (Magix.isString(c)) { c = c.split(','); } this.cs = c; } }; if (isChanged) { //检测view所关注的相应的参数是否发生了变化 //safeExec(view.render,[],view);//如果关注的参数有变化,默认调用render方法 //否定了这个想法,有时关注的参数有变化,不一定需要调用render方法 SafeExec(view.locationChange, args, view); } var cs = args.cs || Magix.keys(me.cM); // for (var i = 0, j = cs.length, vf; i < j; i++) { vf = RefVOM.get(cs[i]); if (vf) { vf.locChged(); } } } }
locChged: function() { var me = this; var view = me.view; if (me.viewInited && view && view.sign > 0) { //存在view时才进行广播,对于加载中的可在加载完成后通过调用view.location拿到对应的window.location.href对象,对于销毁的也不需要广播 var isChanged = view.olChg(RefChged); /** * 事件对象 * @type {Object} * @ignore */ var args = { location: RefLoc, changed: RefChged, /** * 阻止向所有的子view传递 * @ignore */ prevent: function() { this.cs = EmptyArr; }, /** * 向特定的子view传递 * @param {Array} c 子view数组 * @ignore */ to: function(c) { //c = c || EmptyArr; if (Magix._s(c)) { c = c.split(','); } this.cs = c || EmptyArr; } }; if (isChanged) { //检测view所关注的相应的参数是否发生了变化 view.render(args); } var cs = args.cs || Magix.keys(me.cM); // for (var i = 0, j = cs.length, vf; i < j; i++) { vf = RefVOM.get(cs[i]); if (vf) { vf.locChged(); } } } }