3
A
回答
6
我不知道是否有還沒有任何「最佳實踐」,我真的覺得這裏只有「一」的做法;-)但我渴望學習其他任何需要,因此,如果任何人都可以在此發表評論,請不要猶豫!
我覺得一般的想法是隻是定義您的事件;所述UI5框架然後自動生成用於登記方法(attach<YourEvent>
),去註冊(detach<YourEvent>
)和觸發事件(fire<YourEvent
)。
例如:
sap.ui.core.Control.extend("your.custom.Control", {
metadata : {
properties : {
// etc...
},
aggregations : {
// etc...
},
associations: {
_myButton : {type : "sap.ui.commons.Button", multiple : false, visibility: "hidden"},
// etc...
},
events : {
yourCustomEvent : {enablePreventDefault : true}
}
},
init : function() {
var oControl = this, oMyButton;
oMyButton = new sap.ui.commons.Button({
text: "Press me",
press: function (oEvent) {
oControl.fireYourCustomEvent({
passAlong : "Some dummy data to pass along"
});
}
});
this.setAggregation("_myButton", oMyButton);
},
// etc...
renderer : {
render : function(oRm, oControl) {
oRm.write("<div");
oRm.writeControlData(oControl);
oRm.write(">");
//content shows button which fires custom event
oRm.write("<div>");
oRm.renderControl(oControl.getAggregation("_myButton"));
oRm.write("</div>");
oRm.write("</div>");
}
}
});
希望這個解釋有點
2
對於自定義事件,您可以wrap jquery events
因此,使用通用的模式這樣可以遵循:
events: {
someEvent: {}
}
onBeforeRendering
var domNode = this.getDomRef();
$(domNode).unbind('someEvent')
onAfterRendering
var self = this, domNode = this.getDomRef();
$(domNode).bind('someEvent', function() {
self.fireSomeEvent({
customProp: customValue
})
});
控制可以做這樣的事情的一個客戶:
new CustomControl({
someEvent: function(o) {
alert('customProp: ' + o.getParameter('customProp'));
}
})
1
的建議/最佳實踐是使用諸如jQuery.bind註冊事件(和使用jQuery.unbind(),以避免存儲器泄漏刪除)。
找到其他信息(蒂姆的評論複製):https://sapui5.netweaver.ondemand.com/sdk/#docs/guide/91f1b3856f4d1014b6dd926db0e91070.html
........
好運
相關問題
- 1. SAPUI5事件
- 2. SAPUI5中的事件處理 - 樹控件
- 3. 僞造WPF操作事件
- 4. SAPUI5事件和常量列表
- 5. SAPUI5 OPA5如何觸發select事件
- 6. 使用Javascript的SAPUI5註銷事件
- 7. SAPUI5數據綁定獲取更改事件中更改的值
- 8. SAPUI5:如何將點擊事件綁定到水平佈局?
- 9. Laravel僞造定製vps
- 10. 綁定要控制的元素SAPUI5
- 11. SAPUI5自定義控件綁定
- 12. getBindingContext()未定義 - SAPUI5
- 13. SAPUI5 - OData未定義
- 14. SAPUI5條件路徑綁定ObjectListItem
- 15. 在瀏覽器中僞造socket.io事件
- 16. 如何僞造mootools中的事件?
- 17. CSS僞元素jquery點擊事件?
- 18. 定製Kal日曆事件
- 19. 「涓流」定製JavaScript事件
- 20. 定製JavaFX的事件
- 21. ASP gridview事件可定製?
- 22. 本地定製Moodle事件
- 23. 自定義控制事件
- 24. 重用SAPUI5控件
- 25. 定製的OnClientClick事件控制
- 26. 使用Slick.js定製僞類常規CSS
- 27. 爲什麼在使用MooTools定義僞事件時,Firefox中的事件未定義?
- 28. Sapui5動態綁定路徑
- 29. SAPUI5列表綁定問題
- 30. SAPUI5導出特定行
你檢查,這已經:HTTPS://sapui5.netweaver.ondemand。 com/sdk /#docs/guide/EventsInControls.html –