在我的代码中,有一个名为$ scope.detailsPresent的范围变量,它基本上只检查是否有数据并根据结果显示不同的页面。
当我执行console.log($ scope.detailsPresent)时,根据是否存在值为false的数据或者如果没有数据值应该为true,该值是正确的。
但是视图没有绑定值,所以在视图上值尚未更新,因此它没有显示正确的页面。如何确保在视图中更新值?我尝试$ scope。$ apply()但是我得到一个错误,所以无论如何都要这样做吗?
my_controller.js
<ion-view view-title="Case Status">
<ion-content>
<div ng-if="detailsPresent.myVar">
<ng-include src="template='no-listings'"></ng-include>
</div>
<div ng-if="!detailsPresent.myVar">
<ng-include src="'templates/case-listings.html'"></ng-include>
</div>
</ion-content>
</ion-view>
my.html
{{1}}
我已经在这约6天了,但没有看到成功。非常感谢任何帮助。
答案 0 :(得分:0)
这不是一个完整的答案,但我有一些建议。这可以更好地作为评论,但我还没有足够的声誉。
尝试将ng-if
属性切换为ng-show
属性。我意识到这会将所包含的元素留在DOM中,但如果性能没有受到严重影响,它可能对您有用。
此外,您在致电$scope.$apply()
时收到错误的原因是因为您已经在调用$apply()
,或者更确切地说是$applyAsync()
。
有关$ apply()
的详细信息,请参阅this answer