代码之家  ›  专栏  ›  技术社区  ›  AmazingDayToday

ng change和onchange不适用于

  •  2
  • AmazingDayToday  · 技术社区  · 8 年前
    <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未捕获引用错误:控制器不是 定义 在HTMLInputElement。onchange(product-page4:1)

    第二次我没有得到任何回应。

    如何使其适用于 input ?

    1 回复  |  直到 8 年前
        1
  •  0
  •   P.S.    8 年前

    如果要在视图中与控制器的方法交互,最好使用 $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()">