Angularjs 角度1.6-如果不是物体,防止ng重复?
在我的代码中,我从服务器接收到一个信息并将其呈现给用户。问题是,这些信息可以是字符串,也可以是对象。如果数据是一个字符串,它仍然会显示,但angular正在尝试迭代该字符串,如果存在“重复键”,则会抛出错误。如果所讨论的变量是纯字符串,是否有选项防止angular运行Angularjs 角度1.6-如果不是物体,防止ng重复?,angularjs,angularjs-ng-repeat,Angularjs,Angularjs Ng Repeat,在我的代码中,我从服务器接收到一个信息并将其呈现给用户。问题是,这些信息可以是字符串,也可以是对象。如果数据是一个字符串,它仍然会显示,但angular正在尝试迭代该字符串,如果存在“重复键”,则会抛出错误。如果所讨论的变量是纯字符串,是否有选项防止angular运行ng repeat? 在以下示例中,$ctrl.details可以是对象或字符串。如果是字符串,我只想在内部显示它,而不启动ng repeat循环。 HTML: <div ng-repeat="details
ng repeat
?
在以下示例中,$ctrl.details
可以是对象或字符串。如果是字符串,我只想在内部显示它,而不启动ng repeat
循环。
HTML:
<div ng-repeat="details in $ctrl.details">
<strong>{{:: details.title}}</strong>
<ul>
<li ng-repeat="value in details.detailsRows">
<strong>{{:: value.title}}</strong>
<a ng-href="{{:: value.value }}" ng-if="value.isLink" target="_blank">{{:: value.value }}</a>
<img ng-src="{{:: value.value }}" ng-if="value.isImage" />
</li>
</ul>
</div>
{{::details.title}
-
{{::value.title}
更喜欢用Javascript而不是标记解决问题:
...
if (angular.isString(vm.details)) {
vm.strDetails = vm.details;
vm.details = [];
} else {
vm.strDetails = '';
}
{{$ctrl.strDetails}}
<div ng-repeat="details in $ctrl.details">
。。。
if(角度isString(虚拟细节)){
vm.strDetails=vm.details;
vm.details=[];
}否则{
vm.strDetails='';
}
{{$ctrl.STRDEAILS}