Pap*_*apu 2 parameter-passing sapui5
我想在按钮按下时将值从视图传递给控制器.在视图中传递productJson这是一个对象.但我无法在控制器中检索该值.请帮助.
查看js:
new sap.m.Button({
text: "Add to Cart",
press:[oController.addtoCartBtnPress,oController,productJson],
})
Run Code Online (Sandbox Code Playgroud)
控制器js:
addtoCartBtnPress:function(e,oView,productJson)
{
}
Run Code Online (Sandbox Code Playgroud)
结果:
oView and productJson values are returned as undefined.
Run Code Online (Sandbox Code Playgroud)
小智 9
数据应该是印刷机阵列中的第一个值.根据sap.m.Button 的sdk 文档:
按:fnListenerFunction或[fnListenerFunction,oListenerObject]或[oData,fnListenerFunction,oListenerObject]
监听器函数应该有2个参数:1 - 事件; 和2-数据.
onPressFn: function(evt, data) { ... }
Run Code Online (Sandbox Code Playgroud)
要获得视图,只需使用:
var view = this.getView();
Run Code Online (Sandbox Code Playgroud)
在印刷机调用中传递数据的另一种方法是使用视图模型绑定,特别是如果您已经在视图中的其他位置使用该模型绑定.但这取决于你有多少产品和其他因素,所以我不认为它将是你的理想选择.
//in the view
var productModel = new sap.ui.model.json.JSONModel(productJson);
view.setModel(productModel, "product");
//in the controller:
var data = view.getModel("product").getData();
Run Code Online (Sandbox Code Playgroud)