当前位置: 首页 > 知识库问答 >
问题:

角度2:在布线中使用模块中的组件

袁开宇
2023-03-14

在angular 2中,假设我有一条使用组件的路线:

{ path: 'new-project', component: BasicForm },

现在,如果我直接导入组件,这就可以了:

import { BasicForm } from './foo/basicForm.component';

但是我应该如何导入模块呢?

import { BasicForm } from './foo/basicForm.module';

这不起作用,因为BasicForm不是在模块文件定义的,而是在组件文件中定义的。

以便组件加载模块的所有可用导入和声明?

根据@HristoKolev的建议,我在模块中添加了以下内容:

export { BasicForm } from './basicForm.component';

这允许路由从模块中查看基本表单组件。

但是,BasicForm组件似乎没有看到从NgMoules导入。特别是,BasicForm不能访问由组件模块定义的FormsMoules:

import { FormsModule } from '@angular/forms';
...
@NgModule({
  imports: [CommonModule, FormsModule],
  declarations: [BasicForm]
})

但在BasicForm模板中,错误是:

Can't bind to 'ngModel' since it isn't a known property of 'input

导致错误的模板行:

<input type="text" class="form-control" id="directory" placeholder="foo" [(ngModel)]="project.directory">

因此,angular在解析此模板时没有从FormsModule中找到ngModel指令。

共有1个答案

洪永长
2023-03-14

在模块文件中添加导出*from'./basicForm.component';

 类似资料:
  • 问题内容: 当前正在查看从Angular 1-> Angular 2升级的路径,而我们在Angular 1工作中完成的一件事是在面向公众的非应用程序页面上重用我们的某些组件。 这些页面实际上是静态HTML(尽管它们是由Rails渲染的),然后将某些Angular 2组件放置到页面中。这是从Angular 1开始的,我们只需使用提供所需指令和组件的模块引导文档元素。根本没有路由。 使用Angular

  • 我正在使用什么 角 我想做的是 我有一个加载组件,我想在多个模块中重用 我做了什么 > 我创建了一个名为“加载覆盖”的新模块 在此模块中,我导出覆盖组件 我将此模块添加到app.module 将组件添加到多个模块时,我收到以下错误: 类型加载覆盖组件是两个模块声明的一部分:加载覆盖模块和项目模块!请考虑将加载覆盖组件移动到导入加载覆盖模块和项目模块的更高模块。您还可以创建一个新的NgMoules,

  • 我在Angular2中有一个简单的自定义管道,用于根据类型ID和年份数组过滤数组,我定义如下: 下面是从调用组件使用它的地方: 过滤器运行良好,并根据类型和年份的 2 个复选框列表数组进行更新(使用数组进行过滤,因此管道上的“pure: false”)。 我的问题是,如何在ngFor之外获得FILTERED COUNT来显示管道的过滤结果计数?我有highlightedWorks。长度作为总结果计

  • 我对角度布线有问题,我想在单击按钮“验证”时导航到组件页面WidgetsComponent component.html: 组件。ts: The app-routing.module.ts: 当我点击验证按钮时,没有任何反应,我没有得到我想要的html页面,但网址更改为 http://localhost:4200/widgets。我也尝试了路由器链接,但它仍然是同样的问题。有人知道如何解决这个问题

  • 我应该做什么来隐藏MyInterface的确切位置?一些索引文件?

  • 问题内容: 到目前为止,我已经看到了许多解决问题的方法。当然,最简单的方法是将事件作为事件总线使用,例如(https://github.com/btilford/anti- patterns/blob/master/angular/Angular.md ) 问题是: 在角度应用中使用第二个有什么意义吗? 彼此之间的优缺点是什么? 问题答案: 在编写AngularJS应用程序时,创建自己的事件发射器