我在Ionic应用程序中开发了一个AngularJS组件。该组件被称为“朋友”。
当组件的某个属性发生更改时(例如,通常是过滤器值),组件会执行代码。
.component('friends', {
bindings: {
filter: '@'
},
template:
`
<div ui-sref="nextView">
{{results}}
</div>
`,
controller: function(GroupService, $q, $ionicLoading) {
this.$onInit = function() {
this.updateView();
}
this.$onChanges = function(changesObj) {
this.updateView();
}
this.updateView = function() { /*this.results is updated here */ }
}})
点击结果时,应用会打开一个新视图,我可以通过后退按钮返回该视图。
如何在返回此页面时强制组件刷新(执行“updateView()”)?
****编辑**** 澄清一下。
1 /用户到达TabA,哪个HTML包含组件“friends”。调用$ onInit并执行updateView(),更新变量“results”。
2 /当用户点击组件“friends”时,会显示TabA的子视图(通过ui-sref)。
3 /用户从子视图返回到TabA(由于子视图上的后退按钮)。由于子视图“附加”到TabA,组件“friends”的$ onInit不会被调用但是我想再次调用updateView()函数。所以我的问题是,当从子视图返回到TabA时,如何在组件的控制器上触发updateView()?