こんにちは私はAngularand関数のng-repeatについて質問をしています。 私はこのng-repeat
をObjectArrayを循環させ、リセット値のボタンを持っています。私は、デフォルトのオブジェクトに渡されたオブジェクトのコピーを行う必要があります$scope
における機能リセットを設定し、私のController
でng-repeat関数でオブジェクト全体を変更するAngularJs
[{id:1, name:"element1"},{id:2, name : "element2"}];
:
$scope.reset = function(el){
$scope.defaultObject = {id:500, name:"default"};
el = angular.copy($scope.defaultObject);
}
を
data.elements
は、オブジェクトの例の配列です
<div ng-repeat="element in data.elements">
<button ng-click="reset(element)" >reset</button>
</div>
しかし、動作しませんが、私が行う場合:
$scope.reset = function(el){
$scope.defaultObject = {id:500, name:"default"};
el.name = $scope.defaultObject.name;
}
うまくいきます。 私は(この例では)やるときだから私はそれをしたいと思います:
el = angular.copy($scope.defaultObject);
は、オブジェクトel
が$scope.defaultObject
私の質問、私はすべてのプロパティをサイクリングすることなく、オブジェクト全体をコピーすることができますされたオブジェクトと等しいですか?
[?どうすれば正しくJavaScriptオブジェクトのクローンを作成しない]の可能な重複(http://stackoverflow.com/質問/ 728360/how-do-i-exactly-clone-a-javascript-object) –
ありがとうございますリンクを参照してください! – LorenzoBerti
このリンクが表示されますが、「すべてのプロパティをサイクリングせずにオブジェクト全体をコピーできますか?」この記事では、オブジェクトのプロパティのサイクルを行い、これをオブジェクトに割り当てるようです。 – LorenzoBerti