【发布时间】:2023-04-10 13:41:02
【问题描述】:
我有一个 select 项目,我在 option 中使用 ng-repeat 填充它。我使用 Angular 的数据绑定将所选项目的值设置为我的模型。但
由于某种原因,json 字符串中的 " 现在变成了 \" 。因此,我稍后在我的代码中无法再访问 json 字符串中的属性。
<select id="concepts" class="form-control" ng-model='usecase.concepts' multiple title='-Select one or more primary concepts-' data-width="auto" >
<option ng-repeat='concept in concepten' value='{{concept}}'>{{concept.name}}</option>
</select>
概念 JSON 字符串如下所示:
{"name":"Concept1","description":"beschrijving"}
但是当我在选择中选择一个项目时,它看起来像这样:
{\"name\":\"Concept1\",\"description\":\"beschrijving\"}
稍后我想用所选概念的名称属性填充一些下拉列表,但由于反斜杠,我无法再访问名称属性。
我该如何解决这个问题,以便value 不会在 JSON 字符串中添加反斜杠?
备注: 使用ng-options 而不是ng-repeat 可以完美运行,但我正在尝试使用nya-bootstrap-select,但我无法使用ng-options 标签
【问题讨论】:
-
尝试使用 angular.fromJson();将 json 解析为 javascript 对象 - 那么您应该能够正确访问它
-
@deolectrix 是否可以在选择对象中进行此解析?还是我应该在之后解析模型?
-
您应该事先尝试解析 json,因此当您将其分配给
$scope.usecase.concepts时,您可能会遇到这样的情况。$scope.usecase.concepts = [],$scope.usecase.concepts.push(angular.fromJson({"name":"Concept1","description":"beschrijving"}));
标签: angularjs select ng-repeat