以下のコードを考えてみましょう。
私の AngularJS アプリでは、$scope.records のオブジェクトにカテゴリ [0] を入力すると、それらがリンクされ、ビューにカテゴリ プロパティを表示できます。
JS:
$scope.categories = [{
title: 'Category 1'
}, {
title: 'Category 2'
}];
$scope.records = [{title: 'New record', category: $scope.categories[0]}];
HTML:
<select class="form-control input-sm" ng-model="record.category" ng-options="category.title for category in categories"></select>
しかし:オブジェクトの配列を文字列化してから再度解析すると...
var json = JSON.stringify($scope.records);
var parsedJson = JSON.parse(json);
$scope.records = parsedJson;
...「リンクを緩め」、基本的にコピーを作成しているため、カテゴリは「選択済み」として表示されません。理由は次のとおりです。
$scope.records[0].category === $scope.categories[0]
false と評価されます。
これを回避するアイデアはありますか?
その場合、本当にばかげた質問かもしれません:ごめんなさい:-)