2017-03-06 59 views
0

我在页面中使用角度来禁用输入。它只是一个匹配其可变邻居格式的输入。我想将它设置为一个日期。角度:禁用输入的内容

数据模型未格式化。我想通过date 'medium'过滤器管道。

下面的工作,但给出了一个错误,说angular.js:13550 Error: [ngModel:nonassign]

<input readonly type="text" name="Date" disabled ng-model="item.date | date : 'medium'"> 

我可以看到为什么角度不高兴。如果有人启用并修改了输入,会发生什么,对吗?但我想要将日期输入到输入中。 应该我在做什么?

回答

1

如果您打算不修改它。你可以简单地做

<input readonly type="text" name="Date" disabled value="{{item.date | date : 'medium'}}"> 
+0

我认为这也可以工作,但事实并非如此。这可能是因为'item.date'从未定义开始,然后在http请求完成时填充。我猜测'ng-value'只在开始时被评估。 – Kenkron

+0

@Kenkron我已经使用'value'而不是'ng-value'。我也测试过它,它工作。我还没有挖掘出“ng-value”的工作原理。但AFAIK角度对每个变量都有约束力,并将其更新为该更改的值。 – Minato

+0

我刚刚查找'ng值'并尝试它在角度*** 1.1.5 ***,它不起作用,但同样的事情在角度*** 1.6.8 ***,所以它可能是一个版本问题。 – Minato