无法从输入到控制器

时间:2018-05-18 13:51:07

标签: javascript angularjs

我是Angularjs.的新手。我在离子中有一个日期选择器。选择日期输入后获取所选日期的值。现在我尝试使用$ scope在Controller中访问此值,但我无法访问。< / p>

这是我的HTML

<div class="list">
  <label class="item item-input">
    <input type="text" data-ng-model="dateValue" disabled>
  </label>
</div>

<my-calendar display="dateValue" dateformat="'yyyy-MM-dd'"></my-calendar>
  <button id="fieldWork-button21" data-ng- click="saveFieldWork(fieldWork)"></button>

我在提交后调用save函数。我正在使用fieldWork对象绑定其他值。

这是Controller.js

$scope.dateValue = "";
$scope.saveFieldWork = function(fieldWork) {
  fieldWork.fieldDate = $scope.dateValue;
  //other code
};

这里我无法获得选定的日期值。但是在选择日期后的输入中,它显示的是正确的日期。

目前它显示空字符串而不是选定日期。任何人都可以告诉如何将此值传入Controller?如果AngularJs支持双向数据绑定,那么为什么我无法从html获取ng-model值到Controller?

1 个答案:

答案 0 :(得分:0)

您无法访问html中的fieldWork变量,因此您无法在data-ng-click中使用它。

<button id="fieldWork-button21" data-ng-click="saveFieldWork()"></button>

看这个

(function() {
  'use strict';

  angular.module('player', [])
    .controller('MainCtrl', ['$scope', function($scope) {
      var fieldWork = {};
      $scope.saveFieldWork = function() {
        fieldWork["fieldDate"] = $scope.dateValue;
        console.log(fieldWork);
        //other code
      };
    }])

})();
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.10/angular.min.js"></script>
<div ng-app='player'>
  <div ng-controller='MainCtrl'>
    <div class="list">
      <label class="item item-input">
            <input type="text" data-ng-model="dateValue">
     </label>
    </div>
    <button id="fieldWork-button21" data-ng-click="saveFieldWork()">Save</button>
  </div>
</div>