作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
对于以下 SAPUI5 路由方法之间的区别的示例,我们会很高兴:
sap.ui.core.routing.Route
:
attachMatched()
attachPatternMatched()
sap.ui.core.routing.Router
:
attachRouteMatched()
attachRoutePatternMatched()
attachMatched()
和
attachPatternMatched()
没有任何区别。
attachRouteMatched()
:
Attach event-handler
fnFunction
to therouteMatched
event of thissap.ui.core.routing.Router
.
attachRoutePatternMatched()
:
Attach event-handler
fnFunction
to theroutePatternMatched
event of thissap.ui.core.routing.Router
. This event is similar to route matched. But it will only fire for the route that has a matching pattern, not for its parentRoutes
.
sap.ui.define([
"sap/ui/core/mvc/Controller"
], function (Controller) {
"use strict";
return Controller.extend("sap.ui.demo.wt.controller.Detail", {
onInit: function () {
var oRouter = sap.ui.core.UIComponent.getRouterFor(this);
oRouter.getRoute("detail").attachMatched(this._onObjectMatched, this);
// oRouter.attachRouteMatched(this._onObjectMatched, this);
},
_onObjectMatched: function (oEvent) {
this.getView().bindElement({
path: "/" + oEvent.getParameter("arguments").invoicePath,
model: "invoice"
});
}
});
});
sap.ui.define([
"sap/ui/core/mvc/Controller"
], function (Controller) {
"use strict";
return Controller.extend("sap.ui.demo.wt.controller.Detail", {
onInit: function () {
var oRouter = sap.ui.core.UIComponent.getRouterFor(this);
oRouter.getRoute("detail").attachPatternMatched(this._onObjectMatched, this);
// oRouter.attachRoutePatternMatched(this._onObjectMatched, this);
},
_onObjectMatched: function (oEvent) {
this.getView().bindElement({
path: "/" + oEvent.getParameter("arguments").invoicePath,
model: "invoice"
});
}
});
});
attachRouteMatch()
只会为具有匹配模式的路由触发。
最佳答案
在这种情况下的差异是:
sap.ui.core.routing.Route
和 sap.ui.core.routing.Router
sap.ui.core.routing.Route
的
attachMatched
或
attachPatternMatched
为特定的规定路线开火。在下面的路线«细节»:
let oRouter = sap.ui.core.UIComponent.getRouterFor(this);
oRouter.getRoute("detail").attachMatched(this._onObjectMatched, this);
sap.ui.core.routing.Router
的
attachRouteMatched
或
attachRoutePatternMatched
任何路线的火灾:
let oRouter = sap.ui.core.UIComponent.getRouterFor(this);
oRouter.attachRouteMatched(this._onObjectMatched, this);
sap.ui.core.routing.Router
的方法将具有与
sap.ui.core.routing.Route
相同的结果's 如果为特定路由添加了限制:
_onObjectMatched: function(oEvent) {
if (oEvent.getParameter("name") !== "detail") {
…
}
}
sap.ui.core.routing.Router
火灾
_onObjectMatched
对于任何路线。对详细路由的限制发生在触发方法
_onObjectMatched
中与 if 子句。
sap.ui.core.routing.Route
火灾
_onObjectMatched
首先只有当 «detail» 路由被点击时。
sap.ui.core.routing.Router
的 attachMatched
/sap.ui.core.routing.Route
的 attachRouteMatched
和 sap.ui.core.routing.Router
的 attachPatternMatched
/sap.ui.core.routing.Route
的 attachRoutePatternMatched
attachMatched
/
attachRouteMatched
为匹配的
触发路线 .
attachMatched
任何路线的火灾
或子路由 .
attachRouteMatched
为指定路由的匹配而触发。
attachPatternMatched
/attachRoutePatternMatched
为匹配的 触发子路由 . attachPatternMatched
为路线起火 子路由 . attachRoutePatternMatched
为任何匹配的子路由触发。即 attachPatternMatched
/attachRoutePatternMatched
为没有父路由触发。 sap.ui.core.routing.Route
. sap.ui.core.routing.Router
的具体路线. attachMatched
/attachRouteMatched
任何路线的火灾。 attachPatternMatched
/attachRoutePatternMatched
为子路由触发,或者不为父路由触发。 关于sapui5 - SAPUI5 中的 attachMatched() 和 attachPatternMatched() 和/或 attachRouteMatched() 和 attachRoutePatternMatched() 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43706819/
对于以下 SAPUI5 路由方法之间的区别的示例,我们会很高兴: sap.ui.core.routing.Route : attachMatched() attachPatternMatched()
我是一名优秀的程序员,十分优秀!