问题标签 [angular2-components]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
52 浏览

angular - 更改 Angular2 组件的标准行为

我有一个带有表格模板的组件。

这是部分:

但是我需要插入两个而不是 tr。如果我尝试将其用作另一个组件,则表格会中断。

是否有一种棘手的方法可以在循环中的每个 tr 之后插入另一个 tr ?或者也许有一种在他的模板上交换组件选择器的方法

0 投票
1 回答
567 浏览

angular - 使用 Angular 2 处理 CRUD 组件的不同方法

我目前正在使用 Angular 2 开发一系列 CRUD 组件。到目前为止,我在网上找到的所有示例都有Http组件内部的服务。换句话说,创建资源的组件(让我们称之为ResourceCreate)包括使用Http类在远程服务器上创建资源的代码。类似地,显示所有资源列表的组件(让我们称之为ResourceList)包括使用Http该类从服务器获取资源列表的代码。

这很好用,除非您想使用ResourceList来呈现尚未位于服务器上但它们是在客户端临时生成的资源列表。另一个示例是使用ResourceCreatejust 来键入资源信息,但将其保存在本地而不是服务器上。在上述两种情况下,将Http服务放在组件中是多余的。

所以我对这些组件的想法如下:

  • 创建一个父组件并附加所有 CRUD 子组件(例如ResourceCreate,,ResourceList)。
  • 与其Http用于提交或接收数据,不如让父组件向 CRUD 子组件传递数据Input()s或监听事件。Output()例如,让父组件Http请求获取资源列表,然后将该列表传递给ResourcetList组件。另一个示例可能是让组件与资源描述一起ResourceCreate发出事件。submit该事件将被父组件捕获,然后父组件将其提交给服务器。

通过使用这种方法,CRUD 组件对资源存储一无所知。因此,如果我们的资源位于本地或文件中,我们唯一需要更改的是父组件,而不是 CRUD 组件本身。这使得 CRUD 组件更具可重用性。

我试图了解这种方法是否存在缺点。为什么我在互联网上找到的所有 CRUD 示例都没有使用这种方法,而是将Http服务嵌入到 CRUD 组件中?有任何想法吗?

提前致谢。

0 投票
1 回答
2089 浏览

typescript - Angular 2 中的组件创建顺序

我正在尝试读取组件列表并在我的页面上动态创建它们。我为此使用 ComponentResolver 并使用新的 @ViewChild 方式创建组件。

我有一个扩展 ComponentCreator 类的 MainComponent 文件。这个 ComponentCreator 类是一个基类,所有其他组件都可以“扩展”并使用它来创建它们各自的子组件。

以下是使事情更清晰的代码片段:

主要组件.ts

组件创建者.ts

我面临的问题是组件创建的顺序。例如,我有 4 个子组件,其中 2 个是纯 HTML 表格,2 个是一些使用 d3 绘制的图表。即使我将创建顺序指定为 1,2,3,4 ;渲染顺序搞砸了。由于它们都加载到“目标”div 中,因此 HTML 表格会快速呈现并位于两个图表之前。

有什么方法可以解决它,还是我必须对表格和图表使用单独的 div 以使顺序保持不变?

0 投票
11 回答
469809 浏览

angular - 如何在angular2中调用另一个组件函数

我有如下两个组件,我想从另一个组件调用一个函数。两个组件都包含在使用指令的第三个父组件中。

组件 1:

组件 2:

我试过使用@input@output但我不明白如何使用它以及如何调用该函数,有人可以帮忙吗?

0 投票
0 回答
2113 浏览

angular - 尝试使用 viewContainerRef.createComponent() 创建组件时未定义

我正在尝试在组件内部单击按钮时动态加载模态窗口组件,DynamicComponentLoader如下所示 -

MyDialog 组件 -

但是我收到错误 - Cannot read property 'nativeElement' of undefined。起初我认为对话框 ViewChild 元素当时没有创建,所以我尝试将打开部分移动到ngAfterViewInit事件处理程序。但我注意到,当组件创建时不会调用这些事件处理程序ngOnInit等) ,或者可能只是使用方法,不能肯定地说。我没有尝试过,因为我需要在这个里面共同创建组件。 DynamicComponentLoaderloadAsRootloadNextToLocation

这个问题有什么解决办法吗?

更新

感谢 Günter Zöchbauer 的链接,我做了以下更改 -

但是现在我变得this.comp不确定了。有什么我做错了吗?

更新 2

好的,我设法通过像这样重写这个方法来解决这个问题 -

所以,我认为依赖注入就是这种情况。

0 投票
2 回答
797 浏览

angular - Angular2 组件输入链

我想使用 Inputs 制作一个 Angular2 组件链。来自 app > parent > child 的简单示例链。在应用程序中的位置设置了在运行时在子项中设置的实习生数据。下面的代码相同。

------------- parent.component.ts ----------------

--------------- child1.component.ts ---------

在 parent.component.ts 中尝试使用{{fromapp}},例如保存临时变量等,但它不起作用。我收到错误说 inparent.component fromapp未定义。

如何做组件的多链,它的基础对吗?

0 投票
1 回答
3299 浏览

angular - 从angular2中的路由器组件调用父组件函数

我有以下两个组件,我想从另一个组件调用一个函数。component1 是父组件,即 appcomponent,组件 2 实际上是子路由组件。

父组件 1:

子路由组件 2:

我试过使用事件发射器等,但它不起作用。有人能帮忙吗?此设置基本上用于身份验证调用登录框,如果未通过身份验证,如果有我需要了解的内容,也会有所帮助

0 投票
1 回答
1741 浏览

angular - 列出模板表角度2中的选定文件

我是 Angular 2 的新手。试图在从浏览器中选择的模板表中列出文件名。下面是我的代码


模板.html


组件.ts


如果我尝试应用 *ngFor,我会收到以下错误

错误


有人能说出错误和解决方案吗?谢谢

0 投票
1 回答
3077 浏览

angular - Angular2中的面板手风琴

我正在尝试在 Angular 2.0.0-beta.15中使用手风琴或面板,但是当我尝试使其工作时,我收到以下消息“'NgbAccordionGroup'类型中缺少属性'ngOnDestroy'”

或者看看这里http://plnkr.co/edit/we3EsK?p=preview 现在正在 RC1 中工作,但我必须让它回到 Angular 2.0.0-beta.15

有什么想法吗?

0 投票
0 回答
78 浏览

javascript - 在 Angular2 中集成 Jquery 功能的最佳方法

又是在这里。我想了解哪一种是在 Angular 2 中集成点击功能的最佳方式,这里是示例。

Jquery 函数是:

在 angular2 内部集成的最佳方法是什么?

我很欣赏你的想法