Iam正在使用ionic应用程序编辑配置文件和查看配置文件。编辑编辑页面的详细信息后,它将导航到查看配置文件页面。
我希望在导航后刷新查看配置文件页面。
这是editprofile.ts代码:
首先我用下面的导航
this.router.navigateByUrl('/view-profile');
通过谷歌搜索,我添加了这个来在导航后刷新视图配置文件
this.router.navigateByUrl('/view-profile')
.then(() => {
window.location.reload();
});
现在发生的是,首先它被重定向到查看个人资料页面,并且没有刷新,它直接重定向到主页,主页被刷新。
请帮助我如何在从“编辑配置文件”页面导航后刷新“仅查看配置文件”页面。
谢谢
你应该(几乎)永远不要使用位置。在ionic中重新加载()。这是针对(浏览器)网站的,在爱奥尼亚,你会得到一个暂时的空白屏幕,这很难看。
有几种方法可以实现你想要的。通常,您应该始终通过不同的页面传递相同的对象,Angular会在更改属性时负责更新视图。
这意味着,如果您有这样一个对象:
profile = {
ID: 34,
name: "Anthony",
lastname: "Hopkins",
age: "80"
}
您应该将此对象传递到EditProfile页面,因此当您在该屏幕中更改某些内容时,您将返回到概要文件,并且视图已经更新。这就是角度数据绑定的魔力所在。
当您进入EditProfile页面时,您可能会再次调用API以加载更多信息。在这种情况下,不要创建新的配置文件对象。而是将属性添加到之前的配置文件对象:
profile['city'] = 'London';
但好吧,让我们想象一下,现在这对你来说是不可能的。在这种情况下,当您返回到概要文件页面时,再次进行API调用并替换当前概要文件对象。Angular将刷新视图:
ngOnInit() { // or constructor
// do not get user data here, instead call a method
this.getUserProfile();
}
// Call this method, instead of location.reload()
getUserProfile() {
API.getProfile( profile => {
this.profile = profile; // view will refresh
});
}
如果问题是您不知道如何将参数从一个页面传递到另一个页面,那么请搜索如何解决该疑问,但不要试图避免。
例如,您可以使用服务传递参数。在整个应用程序执行过程中,服务作为单个实例保留。所以您可以设置服务。参数,并获取服务。另一页中的参数。
我正在用MVVM light制作一个WindowsUniversal10应用程序。 但是现在,如果我单击ShowWeatherPage上的项目,我会导航到ShowWeatherDetailPage以获取有关单击项目的更多详细信息。但是我不知道我怎么能做到这一点。你能帮我做这个吗? 下面你可以找到我的代码。我使用IocContainers,每个页面都有一个viewmodel,只有命令绑定。
我有一个编辑页面,打开时显示: 当事件完成时,使用: 要显示新事件。。。除非页面未刷新以显示它。。。 查看了弹出后激发的页面事件。。。无 已触发一个要订阅的事件,但表示“无法读取未定义的属性‘fireEvent’”(在我使用this.fireEvent();)时表示“this”)因此,页面显然需要完全实例化 之前已经成功地使用了一个可观察的,但这次没有使用。。。。只是一个数组 已经看到可以在何处将
我已使用此(react router 2.0)在路由器上设置了browserHistory: 然后,我尝试使用react router中的browserHistory以编程方式从视图(ala: 这将URL更改为 /map但不会呈现该路由中的组件。我做错了什么?
在TS文件中 用户详细信息应为 在管理组件中 我的问题是,当单击时,我不会被重定向到页面,但当我从url栏导航到/userdails时,我会看到组件
我想在成功删除数据后刷新页面。当我删除或更新时,我必须进行页面刷新,然后刷新我的数据。如何在ionic 4中使用navController,请帮助我... book-list.page.html 书籍列表。页ts 这是我的代码plase请帮助我如何在ionic中刷新页面以及如何在此代码中使用NavController请帮助我
问题内容: 我有一个应用程序,它使用一个ng-view和多个控制器和视图。如果我浏览根目录,例如:www.domain.com,则一切正常。除非我按Ctrl +R(刷新),否则会显示404错误页面未找到。例如:刷新此页面给我错误。http://domain.com/item/1/。 但是,如果我使用hashbang访问页面,则它可以工作。例如:http://domain.com/#!/item/1