我有一个日期,我希望它有一个过滤器,所以它将具有我想要的格式。
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">
答案 0 :(得分:11)
ng-model
是将模型与视图绑定以获取输入或显示视图。你不能在ng-model上使用过滤器。
如果您希望仅显示数据,则可以对非输入元素使用ng-bind,对表单元素使用ng-value。
这是一个例子。
$ scope.someValue ='控制器中的值'