Angular 出现错误时显示绑定。这可以避免吗?

Angular shows bindings when errors occur. Can this be avoided?

似乎Angular的默认行为是在抛出异常且无法继续时显示html中存在的绑定。在这种情况下有什么办法可以隐藏它们吗?

我认为 ng-cloak 可能适用于此,但我试图避免将 ng-cloak 添加到我的应用程序中的每个元素。

想法?

然后将 ng-cloak 添加到包含您要隐藏的所有内容的大 div 中。你甚至可以隐藏整个 <body>.

另一个常见的解决方案是在 $scope 上添加一个 isReady 变量。默认情况下,isReady 将为 false,您可以使用不同的值显示 {{...}}。加载所有内容(例如您的 ajax 数据)后,将 isReady 设置为 true

例如,(假设您将 $scope 注入控制器而不是将控制器用作 vm)

在您的 html 标记中,

<h1>{{isReady?title:'loading'}}</h1>

在控制器中

angular.module('myApp').controller('$scope', function($scope){
    activate();

    function activate(){
        // your code to get ajax data...
        $scope.title='title to display';
        $scope.isReady=true; // place at the end when everything before runs without error.
    }
});   

您可以改用 ngBind;

<div ng-bind="someExpression"></div>