如何使用角度事件处理程序引用输入元素的值

时间:2015-03-30 15:50:54

标签: javascript angularjs events reference

我该怎么做:

<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没有引用输入元素。

2 个答案:

答案 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}}。