元の質問では、コントローラー関数と呼ばれる要素を特定する方法について尋ねましたが、特に について質問しているのではなく、一般的にng-* ( 、、 、 ng-*)blurr
について質問していることを明確にしませんでした。したがって、それを念頭に置いて:ng-blur
ng-change
ng-focus
ng-mouseover
blurr()
and/orcheck()
関数を呼び出しているかを判断するにはどうすればよいですか?
html
<body ng-app="test">
<div ng-controller="Cntrlr as cntrlr">
<form name="meta_test">
<input type="text" name='inpt' ng-model="cntrlr.inpt" ng-blur="cntrlr.blurr()" ng-change="cntrlr.check()" />
<input type="text" name='second' ng-model="cntrlr.second" ng-blur="cntrlr.blurr()" ng-change="cntrlr.check()" />
</form>
</div>
</body>
js
var app = angular.module("test", []);
app.controller("Cntrlr", ["$scope", function($scope){
this.blurr = function(){
alert("which input am I?");
alert("this is so meta.");
// ?
};
this.check = function(){
alert("this is how meta I am:");
alert(this);
}
$scope.Cntrlr = this; // see: (reference)
return $scope.Cntrlr;
}]);
「なぜ彼はこれをしたいのですか?」と自問しているかもしれません。
2 つの理由があります。
私は電話したいので:
$scope.user_form[meta_test.[(whatever this element is.name)]].$setValidity('spike', false);
私は好奇心が強いので。これを行う簡単な方法が必要です。
(参考): 構文としてのコントローラー