我如何使我的离子按钮刷新所有离子视图.(在大多数情况下,更可取的是重新评估ng开关)
How can I make my Ionic Button refresh all ion-views. (Preferable in most just revaluate a ng-switch)
在我看来,我有一个ng-switch
:
<div ng-switch on="team.isFavorite">
<button class="button button-energized snbutton" ng-switch-when="false" ng-click="makeTeamFavorite()">
Show team on dashboard
</button>
<p class="snmsg" ng-switch-default>
This team is shown on the dashboard
</p>
</div>
如何让我的离子按钮刷新所有的离子视图
首选在大多数情况下只是重新评估ng-switch
,在1中重新加载一切)
我在控制器中尝试了什么:
.controller('List-PeopleCtrl', function($ionicHistory, $state, $scope, $stateParams, Teams) {
$scope.makeTeamFavorite = function() {
Teams.setFavoriteId($stateParams.teamId);
$ionicHistory.clearCache();
$state.go($state.current);
}
$scope.team = Teams.get($stateParams.teamId);
$scope.team.isFavorite = Teams.getFavoriteId()==$stateParams.teamId;
$scope.people = Teams.members($stateParams.teamId);
})
它会使所有缓存无效,我猜,但它没有工作:D
注意
- 我搜索了,但没有找到任何东西来做这个…
- 我不想用
cache=false
标记我的离子视图并选择退出所有缓存 - 我认为这是离子特异性的,但这可能是我对AngularJS缺乏了解:D
- 的点是它的工作(不清除缓存),当我下次再次打开视图。只是在查看它时不会重新加载
编辑:我还尝试了:
$ionicHistory.clearCache();
$state.go($state.current, {}, { reload: true });
还是
$state.go($state.current, {}, { reload: true });
运气不这似乎不是离子特异性或ng-switch
特异性,但似乎是ui-router
特异性。如果我理解正确,您希望在单击按钮并在Teams
上执行一些数据逻辑时刷新视图。我看到这里
$state.go($state.current);
然而,这根本不会为你做,因为你的路径没有改变,你的控制器将不会重新运行。然而,$state.go()
提供了额外的参数,包括我们需要的一个参数——reload
。
$state.go($state.current, {}, { reload: true }); //second parameter is for $stateParams
这将刷新你的视图并重新运行你的控制器,所以你会看到这反映在UI中。看到美元的状态。查看(to [, toParams] [, options])文档
此外,如果您和其他人希望看到实际操作,我已经制作了两个简单的示例。这里的代码绝不是最佳实践驱动的,但确实是自我描述的,足以演示核心问题和解决方案。
JSFiddle示例使用$state.go($state.current, {}, { reload: true });
JSFiddle示例-不工作-仅使用$state.go($state.current);
相关文章:
- 使用正则表达式评估电子邮件地址时出现性能问题
- AngularJS ng开关或类似的动态值工作
- 基于下拉菜单创建开关
- Javascript开关不工作
- 如何检查链接是否有文本,并根据文本值评估条件-Jquery/JS
- 类型错误'未定义'不是对象(正在评估'navigator.connection.type'
- 引导开关不工作
- 如何定义星期日和平日.按日期使用开关
- 下载javascript文件,但不要立即对其进行评估
- Javascript-使用“”将toDateStringMonth从文本字符串解析为数字字符串;如果“;vs“;开关”;
- 在WebView iOS中评估Javascript
- 如何将事件处理程序分配给proto.io开关
- TypeError:undefined不是对象(正在评估'newWindow.focus')
- r.js评估'text'插件,尽管在'stubModules'参数
- 避免重新评估和动态卸载用“require”调用的对象
- 删除评估值Javascript时的错误
- 咖啡脚本意外的条件评估
- Javascript-在一行中评估多个正则表达式
- &&评估问题
- 我如何使我的离子按钮刷新所有离子视图.(在大多数情况下,更可取的是重新评估ng开关)