【问题标题】:angular-datepicker: get ng-model value into scopeangular-datepicker:将 ng-model 值纳入范围
【发布时间】:2016-01-20 12:58:34
【问题描述】:

我是 AngularJs 的新手,我想在 <pre> 标记中按 ng-model="abc" 的范围显示日期选择器的选定日期和时间。

angular-datepicker (github), angular-datepicker (demo)

HTML:

<div class="container">
    <div class="row">
      <div class="col-md-4">
        <div ng-controller="foo">
          <input type="datetime" class="form-control" date-time ng-model="myDate" format="dd-MM-yyyy HH:MM" placeholder="Select datetime">
          <pre>myDate: {{myDate}}</pre>
        </div>
      </div>
    </div>
  </div>

JS:

angular.module('demo', ['datePicker']).controller('foo', ['$scope', function($scope) {
  //empty
}]);

这是plnkr

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    这是更新的 plnkr - http://plnkr.co/edit/Qagb78UDqXQrabcZucr6

    为了让它工作,我必须让ng-model 指向input 中的object.property (myDate.value)。您可以像这样在模板中获取模型值:

    <pre>
          myDate: {{myDate.value | date: "dd-MM-yyyy HH:MM"}}
    </pre>
    

    控制器:

    $scope.myDate = {
            value: ''
    };
    

    希望这能回答您的问题。这就是ng-model 需要一个点的原因 - Does my ng-model really need to have a dot to avoid child $scope problems?

    【讨论】:

    • 现在的问题是,一旦选择了一个日期,当我选择另一个日期时,范围值不会更新。如何做到这一点?
    • 这很奇怪。昨天还在更新。让我看看。
    • 啊,我明白你的意思了。如果您通过键入来更新它,它不会更新日期。
    • 啊,谢谢。更新的 plnkr 可以在 here 找到。附加问题:是否可以将 ng-change="barFunc()" 添加到输入并使用此函数中的范围值?
    • 我尝试了 ng-change,但这似乎没有选择您对输入类型所做的更改。让我试试 ng-watch。
    猜你喜欢
    • 2017-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-07
    • 2016-12-27
    • 2015-10-15
    • 2016-12-24
    相关资源
    最近更新 更多