微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sapui5 – 从XML绑定表达式调用控制器函数

使用OpenUI5 / SAPUI5,根据 XML Binding Expressions的文档,我们可以从视图中执行函数.
new sap.m.CheckBox({
    selected: "{= checkSelectedItems(${odata>CustomerId}) }"
})

在我的控制器后面的视图:

checkSelectedItems: function(sCustomerId) {
    return true;
}

在我看来,我得到一般错误,好像它找不到我的函数

Uncaught TypeError: Cannot read property 'apply' of undefined

我试过用几种方法调用函数

{= .checkSelectedItems() }
{= my.namespace.checkSelectedItems() }

我甚至尝试在索引页面的脚本标记添加一个函数,看看它是否只能访问全局函数,但我也无法触发它.建议?我误解了文档吗?

在这里查看JS Bin:http://jsbin.com/sosotacihi/edit?html,output.我已经注释掉了有问题的CheckBox,但如果你把它放进去,你会看到错误.

您需要使用formatter从XML视图调用控制器的方法.
new sap.m.CheckBox({
     selected: "{parts:['odata>CustomerId'],formatter:'.checkSelectedItems'}"
 });

这可以应用于任何事件触发属性.提到这一点的一般方法是:

{parts:['<parameter1>','<parameter2>',...],formatter:'.<methodInController>'}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。