如何防止最初的null-set变量出现模板错误?

时间:2018-06-11 12:39:03

标签: angularjs templates

我们说我有一个变量

$scope.variable=null;
在我的控制器中的AngularJS中

。我会对某些数据执行$http请求,并在请求返回后将响应中的实际数据分配给我的变量,以便变量如下所示:

$scope.variable={'data1':'example1','data2':'example2'};

我也有提供数据的模板,例如

<span>{{ variable.data1 }}</span>

$http请求之前没有$scope.variable.data1,因此在浏览器控制台中出现错误。即使我做了

<span ng-cloak ng-if="variable!=null">{{ variable.data1 }}</span> 

似乎浏览器试图评估表达式。

错误看起来像像这样:

  

angular.js:3626错误:属性宽度:预期长度,&#34; {{svgconfig.ca ...&#34;

如果我想设置svg元素的属性。

有没有办法让错误发生?

1 个答案:

答案 0 :(得分:0)

可能是您可以使用以下功能检查您的对象是空的还是填充数据。

 <span ng-cloak ng-if="isEmpty(variable)">{{ variable.data1 }}</span>
  $scope.isEmpty(obj) {
  for (var key in obj) {
    if (obj.hasOwnProperty(key))
        return false;
    }
    return true;
  }