wex5 开发的页面,js的定义语法规则一般都是Model.prototype.方法名,这样的方法相互调用的时候直接使用this.方法()  即可

this  表示的就是model对象!

示例如下:

Model.prototype.test= function(){
this.comp('xid') ;
this.getElementByXid('xid');
};

但是在一些特殊的情况下,比如回调方法中,或者js定义格式不是Model.prototype.方法名 ,而是自己定义的js对象,这个时候就不能直接写this.方法() 了

解决方法

1.在回调函数的外层重新定义一个变量,比如var me = this; 在回调函数中使用me.comp() 或me.getElementByXid

Model.prototype.test= function(){
	var me = this;
	cordova.getAppVersion.getVersionNumber(function(){
	var input = me.comp('input');//回调函数中的写法me.方法()
	});
};

2.在js的最外层定义变量var me; 和var justep = require(“$UI/system/lib/justep”);的定义并列 然后再Model构造函数中赋值 me= this;,这样全局都可以使用这个变量了!

	var me;
	var Model = function(){
		this.callParent();
		me = this;
	};