角度路线更改会简要显示应隐藏的内容

时间:2014-02-07 06:50:45

标签: angularjs

我有这样的观点......

<section ng-controller="ProfileController">
    <div class="alert alert-danger" ng-show="!result.success">
        {{result.message}}
    </div>
    <div class="container" ng-show="result.success">
        <h1>{{result.profile.username}}</h1>
    </div>
</section>

当我直接访问完整的URL时,第一个div永远不会出现不必要的。但是,如果我点击指向另一条路线的链接然后返回,我会在Angular应用服务结果之前看到警报框。

我该如何避免这种情况?

1 个答案:

答案 0 :(得分:2)

您可以使用ng-bind代替表达式绑定或首先解析所有必需的数据来避免此行为。

<div ng-controller="Ctrl">
  Enter name: <input type="text" ng-model="name"><br>
  Hello <span ng-bind="name"></span>!
</div>

来自docs

的引用
  

当Angular编译它之前,浏览器在其原始状态下暂时显示模板时,最好使用ngBind而不是{{expression}}。由于ngBind是一个元素属性,因此当页面加载时,它会使绑定对用户不可见。

Resolve