我想使用路由重新加载相同的路径;
在onInit
中,我有routeMatched函数,我可以在其中调用服务器:
this.router.attachRoutePatternMatched(this._handleRouteMatched, this);
这是电话:
var idProduct= "p1"
this.router.navTo("product", {
id_product: idProduct
});
网址路径为:.../index.html#/product/p1
我第一次调用navTo
函数_handleRouteMatched
。没错!
但是,如果在同一路径我想要(通过按钮)重新加载我希望通过navTo
执行的相同产品功能但在第二种情况下功能_handleRouteMatched
未启动。
Wath是解决我问题的正确方法吗?当我按下按钮时,我不喜欢在逻辑中写入_handleRouteMatched的内容。 我希望始终通过路由器
答案 0 :(得分:1)
ui5中的路由器非常智能,可以检测到你的navTo()将使用当前args进入当前路由。在这种情况下,路由器触发路由没有任何意义,因为您已经在那里。如果您想再次重新加载/刷新同一产品,那么您应该获得对相应绑定的引用并在该绑定上调用refresh()。如果您使用的是ODataModel,则应自动从服务器重新获取数据。有关详细信息,请参阅https://sapui5.hana.ondemand.com/#docs/api/symbols/sap.ui.model.Binding.html#refresh