我该怎么做:
<input ng-keyup="foo($event)">
$scope.foo = function (event) {
var v = event.srcElement.value;
}
我想怎么做:
<input ng-keyup="foo(this.value);">
$scope.foo = function (v) {
var v = v;
}
这不起作用。 this
没有引用输入元素。
答案 0 :(得分:1)
对于所有ng-
事件(或其他指令)类型this
表示编译DOM的范围。
将输入的值绑定到模型并在事件处理程序中使用。
<input ng-model="myModel" ng-keyup="foo()">
在控制器中
$scope.foo = function () {
//use $scope.myModel
}
如果您不想将输入绑定到模型,那么您当前使用的解决方案就可以了。
答案 1 :(得分:0)
您应该使用$scope
将输入值绑定到ng-model
,并将该值作为参数传递给foo
,或者您可以直接在$scope.foo
的定义中引用它{1}}。