作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想将属性从 Controller 绑定(bind)到 View 。
在 angularjs 中,它就像操作 $scope 一样简单:
$scope.buttonProps = {
value: 'cheese',
disabled: 'disabled',
onClick: function() {}
};
<custom-button disabled="buttonProps.disabled" onclick="buttonProps.onClick" value="{{buttonProps.value}}" />
但是当我尝试在 SAPUI5 中执行相同操作时
sap.ui.core.mvc.Controller.extend('...', {
buttonProps: {
value: 'cheese',
disabled: 'disabled',
onClick: function() {}
}
});
<custom-button value="{buttonProps.value}" disabled="{buttonProps.disabled}" click="buttonProps.onClick" />
它不起作用 - 框架似乎无法访问“buttonProps”对象的属性。
但是,如果我将属性直接移动到 Controller 上,它就可以工作
sap.ui.core.mvc.Controller.extend('...', {
value: 'cheese',
disabled: 'disabled',
onClick: function() {}
});
<custom-button value="{value}" disabled="{disabled}" click="onClick" />
但是,当然,当您获得更复杂的 View 时,这是一种非常无组织的工作方式。
我尝试创建 JSONModel 并通过模型绑定(bind)值:
sap.ui.core.mvc.Controller.extend('...', {
buttonProps: new sap.ui.model.json.JSONModel({
value: 'cheese',
disabled: 'disabled',
onClick: function() {}
})
onAfterRendering: function() {
this.byId('btn').setModel(this.buttonProps);
}
});
<custom-button id="btn" value="{/value}" disabled="{/disabled}" click="/onClick" />
它适用于一切......除了函数。
有没有办法将属性从 Controller 绑定(bind)到 View ?
最佳答案
UI5 遵循 M-V-C范例和事件处理程序不是数据模型的一部分。
正确的数据绑定(bind)方法如下:
查看:
onClick
被定义为 Controller 中的函数,而不是数据模型中的函数。
<custom-button id="btn" value="{/value}" disabled="{/disabled}" click="onClick" />
Controller :
sap.ui.core.mvc.Controller.extend('...', {
buttonProps: new sap.ui.model.json.JSONModel({
value: 'cheese',
disabled: 'disabled'
}),
onInit: function() {
this.byId('btn').setModel(this.buttonProps);
},
onClick:function(oEvent) {
}
});
关于javascript - SAPUI5:将 Controller 属性绑定(bind)到 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26966293/
我正在使用 sapui5 创建一个表。我想知道我是否可以将升序排序和降序排序的默认图标更改为我自己的图标? 补充问题:有没有一种方法可以在标题中显示我的自定义图标而无需先点击它? 最佳答案 只需在 W
我如何在 SapUI5 中构建一个 XML View 来迭代 JSONModel 中的所有元素? 到目前为止,我有一个 Controller : sap.ui.define([ "sap/ui
我是一名优秀的程序员,十分优秀!