从输入的 onchange 调用一个函数。

12 浏览
0 Comments

从输入的 onchange 调用一个函数。

我正在使用控制器作为语法。

当我的文件输入发生变化时,我想要触发一个函数。

如何做到这一点?

以下是我使用$scope语法的代码


0
0 Comments

原因:需要在输入的onchange事件中调用一个函数。

解决方法:使用Angular的scope.$watch函数。在控制器中添加以下代码:

scope.$watch("image", function(newValue, oldValue) {
   // 在这里可以执行任意操作
   scope.uploadImage(newValue);
}

关于scope.$watch的更多信息,请参考https://docs.angularjs.org/api/ng/type/$rootScope.Scope

这样,当输入的image值发生变化时,就会调用uploadImage函数。

0
0 Comments

问题:如何在输入的onchange事件中调用一个函数?

原因:根据github.com/angular/angular.js/issues/1375,在中,不支持使用ng-change事件。

解决方法:可以使用ng-change="nameOfFunction()"来触发输入的onchange事件。或者可以使用angular-file-upload作为一个可行的解决方案。

0
0 Comments

在这个问题中,用户想要实现一个功能,即在文件输入框的值发生变化时调用一个函数。根据提供的代码和解释,我们可以得出以下结论和解决方法。

问题的出现原因:

- 文件输入框的 onchange 事件默认不会触发任何函数调用。

- 无法直接在 HTML 中使用 onchange 属性调用函数。

解决方法:

- 创建一个自定义指令,用于监听文件输入框的变化。

- 在指令的 link 函数中绑定 onchange 事件,并在事件触发时调用指定的函数。

下面是解决问题的代码和步骤:

1. 在 HTML 文件中,添加一个文件输入框,并使用自定义指令 "custom-on-change" 来监听其变化,并指定要调用的函数。


2. 在控制器的 JavaScript 文件中,定义要调用的函数 "uploadFile",并获取文件输入框中的文件。

app.controller('myCtrl', function($scope){
    $scope.uploadFile = function(event){
        var files = event.target.files;
    };
});

3. 创建一个名为 "customOnChange" 的自定义指令,并在其中绑定 onchange 事件,并指定要调用的函数。

app.directive('customOnChange', function() {
  return {
    restrict: 'A',
    link: function (scope, element, attrs) {
      var onChangeHandler = scope.$eval(attrs.customOnChange);
      element.bind('change', onChangeHandler);
    }
  };
});

通过以上步骤,我们可以实现在文件输入框的值发生变化时调用指定的函数。这是通过创建一个自定义指令,并在其中绑定 onchange 事件来实现的。

点击以下链接查看示例:[View JSFIDDLE](http://jsfiddle.net/sqren/27ugfym6/)

0