更新: angular 1.3.0-rc4が削除されました $scope.thisコミットを参照してください
$scopeの各インスタンスには、それ自体を指すthisという名前のプロパティがあります。現在 ( 1.2.0rc1 ) $ ( public/protected ) または$$ ( internal )のプレフィックスが付いていないため、角度固有のプロパティであることを示唆していません。
そのユースケースは何ですか?
更新: angular 1.3.0-rc4が削除されました $scope.thisコミットを参照してください
$scopeの各インスタンスには、それ自体を指すthisという名前のプロパティがあります。現在 ( 1.2.0rc1 ) $ ( public/protected ) または$$ ( internal )のプレフィックスが付いていないため、角度固有のプロパティであることを示唆していません。
そのユースケースは何ですか?
この質問により、説明のためにコードベース全体を調べました。私はついに古いテストからヒントを得ました。
AngularJS の式はスコープのコンテキストで評価されるため、式を含む式が機能するように、スコープにはthis
それ自体を参照するプロパティが呼び出される必要があります。次の例を見てください。this
<div ng-controller="FirstController">
`this.num` (with normal scope): {{this.num}}
</div>
<div ng-controller="SecondController">
`this.num` (with scope.this removed): {{this.num}}
</div>
app = angular.module('myApp', []);
app.controller('FirstController', function($scope) {
$scope.num = 10;
});
app.controller('SecondController', function($scope) {
delete $scope['this'];
$scope.num = 10;
});
2 番目の例は機能しません。デモンストレーションについては、http://jsfiddle.net/BinaryMuse/mzbpz/を参照してください。