this.router.back() 在 Nativescript 中带有参数
this.router.back() With parameter in Nativescript
使用 Nativescript 5.0 + Angular
无法弄清楚我该如何完成它?
从第一个视图(在此 post 中称为原始视图),用户点击一个按钮
this.router.navigate(["secure/booking/city"]) 显示具有 listview
的新视图
用户在视图
中点击他想要select的城市项目
this.router.back() 调用 onItemTap
用户可以看到原始屏幕
我希望城市项目详细信息(名称和 ID)返回原始视图。
我试过从第二个视图使用 ApplicationSettings 并在原始视图中读回,但没有发生。
下面是代码片段
this.router.navigate(["secure/booking/city"]).then((response) => {
console.log("ret data name : " + ApplicationSettings.getString("cityname"));
ApplicationSettings.setString("cityname","");
}, (e) => {
console.log("error -ret data name : " + ApplicationSettings.getString("cityname"));
});
您可以简单地使用带有 BehaviorSubject 的服务,在原始视图中订阅它并根据需要更新 BehaviorSubject。
根据Manoj的回复,这里是详细的解决方案。
在数据服务 ts 文件中声明变量
public retParam = new BehaviorSubject('');
在第一个视图中 html:
<Label [text]="this._Service.retParam.getValue()" verticalAlignment="center"></Label>
在第一个视图的ts文件中
public构造函数(私有_Service:DataService)
在第二个视图的ts文件中
在 onItemTap 事件处理程序中
this._Service.retParam.next("Pratik");
这样,当应用程序启动时,第一个视图中的标签显示空字符串
在第一个视图中有一个按钮。
点击此按钮,第二个视图将加载列表视图
listview的onItemTap,retParam的值被设置和
this.router.back();被称为
这会将控件带回第一个视图,标签现在显示我的名字而不是空白字符串。
希望这个解释对像我这样的初学者有用。
使用 Nativescript 5.0 + Angular
无法弄清楚我该如何完成它?
从第一个视图(在此 post 中称为原始视图),用户点击一个按钮
this.router.navigate(["secure/booking/city"]) 显示具有 listview
的新视图
用户在视图
中点击他想要select的城市项目
this.router.back() 调用 onItemTap
用户可以看到原始屏幕
我希望城市项目详细信息(名称和 ID)返回原始视图。
我试过从第二个视图使用 ApplicationSettings 并在原始视图中读回,但没有发生。
下面是代码片段
this.router.navigate(["secure/booking/city"]).then((response) => {
console.log("ret data name : " + ApplicationSettings.getString("cityname"));
ApplicationSettings.setString("cityname","");
}, (e) => {
console.log("error -ret data name : " + ApplicationSettings.getString("cityname"));
});
您可以简单地使用带有 BehaviorSubject 的服务,在原始视图中订阅它并根据需要更新 BehaviorSubject。
根据Manoj的回复,这里是详细的解决方案。
在数据服务 ts 文件中声明变量
public retParam = new BehaviorSubject('');
在第一个视图中 html:
<Label [text]="this._Service.retParam.getValue()" verticalAlignment="center"></Label>
在第一个视图的ts文件中 public构造函数(私有_Service:DataService)
在第二个视图的ts文件中 在 onItemTap 事件处理程序中
this._Service.retParam.next("Pratik");
这样,当应用程序启动时,第一个视图中的标签显示空字符串 在第一个视图中有一个按钮。
点击此按钮,第二个视图将加载列表视图 listview的onItemTap,retParam的值被设置和 this.router.back();被称为
这会将控件带回第一个视图,标签现在显示我的名字而不是空白字符串。
希望这个解释对像我这样的初学者有用。