【问题标题】:ngModel without providing model name in angular 2ngModel 没有在角度 2 中提供模型名称
【发布时间】:2017-12-22 02:48:35
【问题描述】:
 <input #gb type="text" pInputText class="ui-widget ui-text" ngModel  
 (ngModelChange)="clearFilter($event)">

我没有在我的代码中为 ngModel 指令分配任何模型名称,但 Angular 2 接受这一点,而 AngularJS (1.x) 不接受。哪种情况下我们需要使用这种ngModel指令而不提供模型名称?

【问题讨论】:

  • 请评论您投反对票的原因。谢谢:)

标签: angularjs angular typescript angular-ngmodel angularjs-ng-model


【解决方案1】:

Angular 2 接受它,因为该对象可以稍后设置。对此进行编码的正确方法是首先检查 if 对象是否存在,然后才显示该对象(如果存在)。

例如:您正在使用服务来实例化页面上的所有对象。每当用户访问您的某个页面时,您不想让用户等待服务的响应,但您希望立即向他们显示页面的所有内容。服务响应稍后将实例化对象,然后才将它们显示给用户。

这可以通过 Angular 2 提供的 onInit 接口来完成。这确保您可以在 html 元素已完全加载后调用服务和实例化对象。

Angular2 只是免费为您提供这种可能性,因为只要对象不存在,它就不会向用户显示它们。

angularJs (Angular1) 和 Angular(Angular2 或 Angular4) 之间的差异是巨大的,这只是众多示例之一。你可以这样看:这两个框架(AngularJS 和 Angular2)唯一的共同点是它们共享几个相同的字母。

【讨论】:

  • 你能解释一下吗?
  • 例如,当您使用服务来实例化您的对象时,这可能发生在您的所有组件都已加载到页面中之后。假设您正在使用 onInit 接口实现,它允许您在所有 (html) 组件已加载后实际设置项目。这样,您可以在 html 元素已经完全加载后设置一个对象。你也不能这样做,Angular 让你可以这样做。
猜你喜欢
  • 2018-07-23
  • 2019-08-15
  • 2022-11-24
  • 1970-01-01
  • 2018-02-28
  • 1970-01-01
  • 1970-01-01
  • 2018-08-08
  • 2016-02-16
相关资源
最近更新 更多