Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用angular 5中的ngoninit在前端设置日期值_Javascript_Angular_Mean Stack_Mean - Fatal编程技术网

Javascript 如何使用angular 5中的ngoninit在前端设置日期值

Javascript 如何使用angular 5中的ngoninit在前端设置日期值,javascript,angular,mean-stack,mean,Javascript,Angular,Mean Stack,Mean,我有一个,我想在用户进入路线时填充它。通过访问站点,输入字段应该已经是实际日期。 所以我认为ngOnInit()应该是我所需要的。但是,当用户进入路线时,我必须做些什么才能将实际日期作为值填入输入字段 我已经尝试通过搜索web来实现这一点,但只找到了一些angularjs的旧解决方案,尽管我使用的是angularjs 5,它与angularjs无法相比。我发现的帖子都指向了不再存在的范围 ngOnInit的文档对我也没有帮助:/ HTML <div class="form-group"&g

我有一个
,我想在用户进入路线时填充它。通过访问站点,输入字段应该已经是实际日期。 所以我认为
ngOnInit()
应该是我所需要的。但是,当用户进入路线时,我必须做些什么才能将实际日期作为值填入输入字段

我已经尝试通过搜索web来实现这一点,但只找到了一些angularjs的旧解决方案,尽管我使用的是angularjs 5,它与angularjs无法相比。我发现的帖子都指向了不再存在的范围

ngOnInit
的文档对我也没有帮助:/

HTML

<div class="form-group">
    <label>Eingangsdatum</label>
    <input type="date" [(ngModel)]="dateArrival" id="dateArrivalPicker" value="" name="dateArrival" class="form-control">
</div>

如果我真的喜欢briosheje在他的评论中写的,那么它是有效的,他的答案不是:/。还有一件事。。。通过使用他的评论,我的控制台中出现了两个大错误:

Error: If ngModel is used within a form tag, either the name attribute must be set or the form
      control must be defined as 'standalone' in ngModelOptions.

      Example 1: <input [(ngModel)]="person.firstName" name="first">
      Example 2: <input [(ngModel)]="person.firstName" [ngModelOptions]="{standalone: true}">
错误:如果在表单标记中使用ngModel,则必须设置name属性或表单
控件必须在ngModelOptions中定义为“独立”。
例1:
例2:
如果我现在给我的

用实际日期填充此字段的功能消失了,只有TT.MM.YYYY在那里。我能做什么?

您可以在组件中创建一个变量。例如:

todaysDate: Date = new Date();
然后在模板中:

<input type="text" [value]="todaysDate">

添加以下内容就足够了:

ngOnInit() {
   this.dateArrival = new Date();
}
并更改您的HTML,以便它将自己处理日期为字符串,反之亦然,如本文所建议的(摘自另一篇so帖子):



ngModelChange
将自动触发更改并处理日期转换。相反,
NgModel
将通过发布控制器(组件)和html直接显示日期?无论如何,您可以使用
@ViewChild
,否则ngmodel将与ngOnInit(或者更好的是,有时是ngOnChange)结合使用,这要感谢html和组件。我唯一的问题是期望的日期是从哪里来的。如果是今天,您可以添加ngOnInit:
this.dateArrival=new Date()
。此外,我将根据以下示例更改ngModel方法:。这也将自行处理日期解析。您可以将您的评论作为答案发布吗?这对我来说就像是在玩plunkr,谢谢!:)当然,很高兴这有帮助:)
ngOnInit() {
   this.dateArrival = new Date();
}
<input type="date" [ngModel] ="dateArrival | date:'yyyy-MM-dd'" (ngModelChange)="dateArrival = $event">