模型在角度分量

时间:2016-02-07 16:00:19

标签: angularjs angular-ngmodel angularjs-ng-change

我已更新到角1.5,现在想要使用组件而不是指令。我的问题是,在我更改了我的值之后,我的ngModel将不会运行ng-change。我找到的所有解决方案都与我的问题不符。

我有以下组件

<date-picker ng-model="$ctrl.fromDate" ng-change="$ctrl.updateData()">
</date-picker>

我的日期选择器指令看起来像(我减少了代码,因为有很多不相关的东西) 我使用babelify作为我的代码

import template from './datePicker.jade';
import moment from 'moment';

class datePicker {

  constructor(
    $scope,
    $element,
    $attrs
  ) {
    console.log(this);
    this.$scope = $scope;
    this.$element = $element;
    this.$attrs = $attrs
    this.initialize();
  }

  initialize() {
    this.updateView();
  }

  changeDate(day) {
    this.ngModel = day;
    this.updateView();
  }

datePicker.$inject = [
  '$scope',
  '$element',
  '$attrs'
];

export default {
  controller: datePicker,
  bindings: {
    ngModel: '=',
  },
  template: template(),
};

我使用指令方式的解决方案是在link函数中定义一个scope.updateModel函数,该函数设置我的模型的视图值。这是有效的,但它的丑陋,我不想再使用链接功能

0 个答案:

没有答案