问题标签 [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.
angular - 更改 Angular2 组件的标准行为
我有一个带有表格模板的组件。
这是部分:
但是我需要插入两个而不是 tr。如果我尝试将其用作另一个组件,则表格会中断。
是否有一种棘手的方法可以在循环中的每个 tr 之后插入另一个 tr ?或者也许有一种在他的模板上交换组件选择器的方法
angular - 使用 Angular 2 处理 CRUD 组件的不同方法
我目前正在使用 Angular 2 开发一系列 CRUD 组件。到目前为止,我在网上找到的所有示例都有Http
组件内部的服务。换句话说,创建资源的组件(让我们称之为ResourceCreate
)包括使用Http
类在远程服务器上创建资源的代码。类似地,显示所有资源列表的组件(让我们称之为ResourceList
)包括使用Http
该类从服务器获取资源列表的代码。
这很好用,除非您想使用ResourceList
来呈现尚未位于服务器上但它们是在客户端临时生成的资源列表。另一个示例是使用ResourceCreate
just 来键入资源信息,但将其保存在本地而不是服务器上。在上述两种情况下,将Http
服务放在组件中是多余的。
所以我对这些组件的想法如下:
- 创建一个父组件并附加所有 CRUD 子组件(例如
ResourceCreate
,,ResourceList
)。 - 与其
Http
用于提交或接收数据,不如让父组件向 CRUD 子组件传递数据Input()s
或监听事件。Output()
例如,让父组件Http
请求获取资源列表,然后将该列表传递给ResourcetList
组件。另一个示例可能是让组件与资源描述一起ResourceCreate
发出事件。submit
该事件将被父组件捕获,然后父组件将其提交给服务器。
通过使用这种方法,CRUD 组件对资源存储一无所知。因此,如果我们的资源位于本地或文件中,我们唯一需要更改的是父组件,而不是 CRUD 组件本身。这使得 CRUD 组件更具可重用性。
我试图了解这种方法是否存在缺点。为什么我在互联网上找到的所有 CRUD 示例都没有使用这种方法,而是将Http
服务嵌入到 CRUD 组件中?有任何想法吗?
提前致谢。
typescript - Angular 2 中的组件创建顺序
我正在尝试读取组件列表并在我的页面上动态创建它们。我为此使用 ComponentResolver 并使用新的 @ViewChild 方式创建组件。
我有一个扩展 ComponentCreator 类的 MainComponent 文件。这个 ComponentCreator 类是一个基类,所有其他组件都可以“扩展”并使用它来创建它们各自的子组件。
以下是使事情更清晰的代码片段:
主要组件.ts
组件创建者.ts
我面临的问题是组件创建的顺序。例如,我有 4 个子组件,其中 2 个是纯 HTML 表格,2 个是一些使用 d3 绘制的图表。即使我将创建顺序指定为 1,2,3,4 ;渲染顺序搞砸了。由于它们都加载到“目标”div 中,因此 HTML 表格会快速呈现并位于两个图表之前。
有什么方法可以解决它,还是我必须对表格和图表使用单独的 div 以使顺序保持不变?
angular - 如何在angular2中调用另一个组件函数
我有如下两个组件,我想从另一个组件调用一个函数。两个组件都包含在使用指令的第三个父组件中。
组件 1:
组件 2:
我试过使用@input
,@output
但我不明白如何使用它以及如何调用该函数,有人可以帮忙吗?
angular - 尝试使用 viewContainerRef.createComponent() 创建组件时未定义
我正在尝试在组件内部单击按钮时动态加载模态窗口组件,DynamicComponentLoader
如下所示 -
MyDialog 组件 -
但是我收到错误 - Cannot read property 'nativeElement' of undefined
。起初我认为对话框 ViewChild 元素当时没有创建,所以我尝试将打开部分移动到ngAfterViewInit
事件处理程序。但我注意到,当组件创建时不会调用这些事件处理程序(ngOnInit
等) ,或者可能只是使用方法,不能肯定地说。我没有尝试过,因为我需要在这个里面共同创建组件。 DynamicComponentLoader
loadAsRoot
loadNextToLocation
这个问题有什么解决办法吗?
更新
感谢 Günter Zöchbauer 的链接,我做了以下更改 -
但是现在我变得this.comp
不确定了。有什么我做错了吗?
更新 2
好的,我设法通过像这样重写这个方法来解决这个问题 -
所以,我认为依赖注入就是这种情况。
angular - Angular2 组件输入链
我想使用 Inputs 制作一个 Angular2 组件链。来自 app > parent > child 的简单示例链。在应用程序中的位置设置了在运行时在子项中设置的实习生数据。下面的代码相同。
------------- parent.component.ts ----------------
--------------- child1.component.ts ---------
在 parent.component.ts 中尝试使用{{fromapp}}
,例如保存临时变量等,但它不起作用。我收到错误说 inparent.component
fromapp
未定义。
如何做组件的多链,它的基础对吗?
angular - 从angular2中的路由器组件调用父组件函数
我有以下两个组件,我想从另一个组件调用一个函数。component1 是父组件,即 appcomponent,组件 2 实际上是子路由组件。
父组件 1:
子路由组件 2:
我试过使用事件发射器等,但它不起作用。有人能帮忙吗?此设置基本上用于身份验证调用登录框,如果未通过身份验证,如果有我需要了解的内容,也会有所帮助
angular - 列出模板表角度2中的选定文件
我是 Angular 2 的新手。试图在从浏览器中选择的模板表中列出文件名。下面是我的代码
模板.html
组件.ts
如果我尝试应用 *ngFor,我会收到以下错误
错误
有人能说出错误和解决方案吗?谢谢
angular - Angular2中的面板手风琴
我正在尝试在 Angular 2.0.0-beta.15中使用手风琴或面板,但是当我尝试使其工作时,我收到以下消息“'NgbAccordionGroup'类型中缺少属性'ngOnDestroy'”
或者看看这里http://plnkr.co/edit/we3EsK?p=preview 现在正在 RC1 中工作,但我必须让它回到 Angular 2.0.0-beta.15
有什么想法吗?
javascript - 在 Angular2 中集成 Jquery 功能的最佳方法
又是在这里。我想了解哪一种是在 Angular 2 中集成点击功能的最佳方式,这里是示例。
Jquery 函数是:
在 angular2 内部集成的最佳方法是什么?
我很欣赏你的想法