【问题标题】:ng-change value not getting in angular controllerng-change 值没有进入角度控制器
【发布时间】:2016-10-25 11:36:35
【问题描述】:

在html中

<input type="number" min="0" max="1000" class="form-control" ng-model="eachvalue.hours" ng-change="updateHour(eachvalue);" placeholder="Hours" required>

在控制器中

 $scope.updateHour = function (val) {
    console.log(val);
  }

更改数字文本框时我没有在控制器上获得 10.100 的值,这里我只能控制台 10.1 的值

谁能知道如何解决这个问题?????????

【问题讨论】:

  • 能多展示一些控制器代码,尤其是每个值的定义吗?
  • eachvalue 是 controller 中的一个对象,即 $scope.eachvalue = {};
  • 你能发布$scope.eachvalue对象吗?

标签: javascript angularjs mean


【解决方案1】:

通过使用ng-model,该值已经(双向)绑定到$scope.eachvalue.hours。它将始终是最新的,无需使用 ng-change 并向其传递值。

 $scope.updateHour = function () {
  console.log($scope.eachvalue.hours);
 }

【讨论】:

  • 那您可能还有其他限制,尚未发布。您可以提供一个代码示例来显示您的问题吗?
【解决方案2】:

您也可以更改您的 HTML

ng-change="updateHour(eachvalue)

ng-change="updateHour(eachvalue.hours)

【讨论】:

  • 你能发布你的完整代码吗?很容易修复@JensonRaby
【解决方案3】:

您可以尝试像这样定义 eachvalue.hours 以便绑定到它:

$scope.eachvalue = { hours: 0 };

【讨论】:

    猜你喜欢
    • 2016-07-26
    • 2014-12-14
    • 1970-01-01
    • 2018-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-17
    相关资源
    最近更新 更多