我们说我有一个变量
$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
元素的属性。
有没有办法让错误发生?
答案 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;
}