参考这篇文章
先上一张图:
页面交互和参数传递,官网一篇文章讲得比较彻底, 各种情况都提到了,不管是页面之间,还是页面和对话框之间,其实传递和接收参数的原理都是一样,这里录一段代码:
传递参数
var url = require.toUrl('./page2.w?p1=p1Value&p2=p2Value');
var params = {
a1: 'a1Value',
a2: 2,
data: {
d1: 'd1Value',
d2: 'd2Value'
}
}
justep.Shell.showPage(url, params)
接收参数
Model.prototype.modelParamsReceive = function(event){
var context = this.getContext();
//获取URL中的参数
var p1 = context.getRequestParameter('p1');
var p2 = context.getRequestParameter('p2');
var buf = '来自url的参数: p1=' + p1 + ', p2=' + p2 + '\n';
//获取简单参数
buf += '简单参数:params.a1=' + event.params.a1 + ', params.a2=' + event.params.a2 + '\n';
//获取复杂参数
buf += '复杂参数:\n'
if (event.params.data){
buf += ' params.data.d1=' + event.params.data.d1 + '\n';
buf += ' params.data.d2=' + event.params.data.d2 + '\n';
}
alert(buf);
};
在其他方法里面也可以获取参数
Model.prototype.button1Click = function(event){
var context = this.getContext();
//获取URL中的参数
var p1 = context.getRequestParameter('p1');
var p2 = context.getRequestParameter('p2');
var buf = '来自url的参数: p1=' + p1 + ', p2=' + p2 + '\n';
//获取简单参数
buf += '简单参数:params.a1=' + this.params.a1 + ', params.a2=' + this.params.a2 + '\n';
//获取复杂参数
buf += '复杂参数:\n'
if (this.params.data){
buf += ' params.data.d1=' + this.params.data.d1 + '\n';
buf += ' params.data.d2=' + this.params.data.d2 + '\n';
}
alert(buf);
};