ng-change和onchange不适用于<input type =“file”/>

时间:2018-01-26 21:06:29

标签: javascript angularjs

<button ng-click="controller.foo()">Click<button>

正在运作。

但是

<input type="file" ng-model="logo" onchange="controller.foo()">

无效。还

<input type="file" ng-model="logo" ng-change="controller.foo()">

无效。

我先得到的错误首先不起作用:

  

product-page4:1未捕获的ReferenceError:控制器不是   定义       在HTMLInputElement.onchange(product-page4:1)

对于第二个我根本没有回应。

如何让这项工作适用于input

1 个答案:

答案 0 :(得分:0)

如果您想在视图中与控制器的方法进行互动,最好使用$scope定义它们:

$scope.foo = function () {
  alert("works");
}

然后从HTML调用方法:

<input type="file" ng-model="logo" ng-change="foo()">

但是应该可以使用this(我没有测试它,但我记得......)

<强>控制器:

this.foo = function () {
  alert("works");
}

<强> HTML:

<input type="file" ng-model="logo" ng-change="controller.foo()">