我有这个例子:http://codepen.io/poliveira89/pen/VeZLJX/
在这个例子中,我有一个<ion-nav-view></ion-nav-view>
,我在其中插入一个带有2个标签的选项卡视图(主页和关于),嵌套视图和嵌套状态。
我的主要关注点:检索屏幕/设备方向并动态重新排列纵向和横向方向的内容。
在“主页”选项卡上,我“假装”实现=&gt;更新有关屏幕旋转后模型更改的视图(HTML)。这显然不适用于模拟器和真实设备。
我在“关于”选项卡上复制了该示例,因为在“主页”选项卡上不起作用,但我稍微更改了代码,我尝试了一些带有按钮的“刷新”触发器(ng-click)和带有警报的$ timeout 。当我单击按钮时,View将使用Model上的新值刷新HTML。
注意:我尝试过其他触发器 - $http
,$interval
,...
我认为这可能与NavView上的“缓存”有关,如下所示:
.state('tabs.home', {
url: "/home",
cache: false,
views: {
'home-tab': {
templateUrl: "templates/home.html",
controller: 'HomeCtrl'
}
}
})
但是,在我禁用它之后,没有任何改变,但仍然无效。
PS:屏幕旋转/方向监听器工作,在模拟器和真实设备上,我已经在控制台消息上进行了调试。
什么可能无法在Angular或Ionic上正常工作?或者为什么只在触发后更新View?
答案 0 :(得分:1)
这是因为你正在更新Angular摘要循环之外的$ scope。
尝试:
$scope.$apply(function() {
$scope.orientation = $window.orientation;
});