同様
を拡張メソッドを作成することができます
$scope.itemList = [];
、非プリミティブデータ型のため、はをクリアし、 新しい空の値に設定すると、動作が大きく異なります。
アレイの例
$scope.itemList = ['A', 'B', 'C'];
var myArr = $scope.itemList;
// Setting to a new empty array,
$scope.itemList = [];
console.log(myArr); // The value is still ['A', 'B', 'C']
オブジェクトの例
$scope.itemList = {'A': 1, 'B': 2};
var myObj = $scope.itemList;
// Setting to a new empty object,
$scope.itemList = {};
console.log(myObj); // The value is still {'A': 1, 'B': 2}
また、現在$scope.itemList
を使用する変数によって、問題を引き起こす可能性が上記の例を考えてみてください。 (あなたが彼らに何が起こるか気にしない場合を除き)
これは本当に明確な配列やオブジェクトへの最善の方法として私の提案です。このようにして
// Clear an array
$scope.itemList.splice(0, $scope.itemList.length);
// Clear an object
for (var prop in $scope.itemList) {
if ($scope.itemList.hasOwnProperty(prop)) {
delete $scope.itemList[prop];
}
}
、$scope.itemList
からその値を割り当てられたすべての変数は、もクリアされます。そしてこれは良い例として(たとえば、angularJSのコンボボックスの自動入力)です。
ちょうどあなたの時間のために '$ scope.itemList = {}' –
おかげで、=)お時間 – kennechu