为什么ngModel不可分配

时间:2015-10-18 09:47:44

标签: javascript angularjs date filter angular-ngmodel

我有一个日期,我希望它有一个过滤器,所以它将具有我想要的格式。

HTML:

<input type="text" id="{{ID}}" ng-style="{color: color}" class="tdate ng-pristine ng-untouched ng-valid" ng-model="time.date | DatePlaceHolder">

过滤器:

function DatePlaceHolder($filter) {
    return function (value) {
        return $filter('date')(value, "dd/MM/yyyy") || "--/--/----";
    }
}

它工作正常,但我一直收到这个错误:

Error: [ngModel: nonassign] Expression 'time.date | DatePlaceHolder' is non-assignable. Element: <input type="text" id="{{ID}}" ng-style="{color: color}" class="tdate ng-pristine ng-untouched ng-valid" ng-model="time.date | DatePlaceHolder">

1 个答案:

答案 0 :(得分:11)

ng-model是将模型与视图绑定以获取输入或显示视图。你不能在ng-model上使用过滤器。

如果您希望仅显示数据,则可以对非输入元素使用ng-bind,对表单元素使用ng-value。

这是一个例子。

$ scope.someValue ='控制器中的值'