关键词:
【中文标题】如何从 Angular 2 中的数据渲染静态 Angular 组件? [复制]【英文标题】:How can I render static Angular components from data in Angular 2? [duplicate] 【发布时间】:2017-05-13 07:00:44 【问题描述】:正如预期的那样,在 Angular 2 中,我可以创建组件,如果我在模板中使用它们,它们就会呈现。在这段代码中,"text" 是另一个组件上的选择器,如果我将一些字符串传递给 [value],它会按预期工作:
@Component(
selector: 'my-app',
template: `
<div class="main">
<text [value]="testModel.data.value"></text>
</div>
`
)
export class AppComponent
name = 'Angular Example';
testModel =
data:
value: `Regular string text works fine.`
但我需要将字符串 html 数据传递到一个组件中,并且该数据还可以包含一个角度组件,更像这样:
@Component(
selector: 'my-app',
template: `
<div class="main">
<text [value]="testModel.data.value"></text>
</div>
`
)
export class AppComponent
name = 'Angular Example';
testModel =
data:
value: `<b>Some</b>
text value to
<inner-component>
this component gets ignored when text is rendered
</inner-component>
render
`
我已经看到了动态生成组件的其他答案,但我不需要它,只是我已经创建的静态预定义组件可能存在于我的数据字符串中。
这里是文本组件:
import Component, Input, ViewChild from '@angular/core';
@Component(
selector: 'text',
template: `
<div >
<div [innerHtml]="value">loading...</div>
</div>
`
)
export class TextComponent
@Input() value: string;
理想情况下,我传入的字符串会呈现任何 html 以及呈现任何 Angular。这是我在角度 1 中的意思:https://plnkr.co/edit/FacA3AwOqJA2QARK28c8?p=preview
编辑:不是重复的
我看不出这个笨蛋是怎么回答的:http://plnkr.co/edit/wh4VJG?p=preview
【问题讨论】:
有什么理由不想将其添加为子组件? 我对任何方式都持开放态度,只要它可以在我的 html 字符串中的任何地方找到,甚至不止一次。.. 你应该这样做plnkr.co/edit/wh4VJG?p=preview 【参考方案1】:“我已经看到了动态生成组件的其他答案,但我不需要,只是我已经创建的静态预定义组件可能存在于我的数据字符串中。”
即使只是静态的预定义组件,Angular 也需要编译它,否则它会被视为普通的 html 标签。
在你的 html 中
<inner-component>
this component gets ignored when text is rendered
</inner-component>
innerHtml 指令只是用提供的 html 替换元素的内部 html,但它不会编译它,所以谁来负责编译你的 inner-component ?
因此,您需要找到一种方法来动态编译该 html 片段。
你应该在
How can I use/create dynamic template to compile dynamic Component with Angular 2.0?
Equivalent of $compile in Angular 2
一个有效的例子是http://plnkr.co/edit/wh4VJG?p=preview
【讨论】:
谢谢,但这些是我在谈论的其他答案。我制作了我正在寻找的这个 Angular 1 示例:plnkr.co/edit/FacA3AwOqJA2QARK28c8?p=preview @jssayin ,伙计,你正在使用 $scope.eval !!!! ,在Angular2中没有这样的东西,只有一种方法,那就是上面的链接,在Angular 2中渲染动态模板时如何提供@Input
】在Angular2中渲染动态模板时如何提供@Input【英文标题】:Howtoprovide@InputwhenrenderingdynamictemplateinAngular2【发布时间】:2017-09-1104:05:31【问题描述】:我正在尝试在运行时动态加载模板、渲染它并从模板内绑定到动态数据。按照***... 查看详情
Angular 2 - 如何在等待 http 请求完成时阻止 GUI 渲染
】Angular2-如何在等待http请求完成时阻止GUI渲染【英文标题】:Angular2-HowcanIblockGUIrenderingwhilewaitingonhttprequesttofinish【发布时间】:2017-01-2122:34:41【问题描述】:可以等待渲染GUI/组件并在任务完成时显示它。喜欢在浏览器中请求网... 查看详情
Angular2:如何在渲染组件之前加载数据?
】Angular2:如何在渲染组件之前加载数据?【英文标题】:Angular2:Howtoloaddatabeforerenderingthecomponent?【发布时间】:2016-06-0921:12:29【问题描述】:我试图在组件被渲染之前从我的API加载一个事件。目前我正在使用我从组件的ngOnInit函... 查看详情
Angular2:如何在渲染组件之前加载数据?
】Angular2:如何在渲染组件之前加载数据?【英文标题】:Angular2:Howtoloaddatabeforerenderingthecomponent?【发布时间】:2016-06-0921:12:29【问题描述】:我试图在组件被渲染之前从我的API加载一个事件。目前我正在使用我从组件的ngOnInit函... 查看详情
如何将数据绑定到 Angular 2 中的多个嵌套组件?
】如何将数据绑定到Angular2中的多个嵌套组件?【英文标题】:HowbinddatatomultiplenestedcomponentsinAngular2?【发布时间】:2018-04-1609:27:48【问题描述】:在使用以下结构的Angular4应用程序中:ComponentA从服务中获取以下模型:classViewModelpu... 查看详情
如何从另一个组件重新渲染特定组件模板?角 2
...文标题】:HowtoRe-renderspecificcomponenttemplatefromanothercomponent?Angular2【发布时间】:2018-03-0408:49:52【问题描述】:我正在尝试重新渲染一个angular2html模板,到目前为止,经过研究我发现我需要使用NgZone。所以我在做什么,在我的主要... 查看详情
路由器插座的Angular 2延迟渲染
】路由器插座的Angular2延迟渲染【英文标题】:Angular2delayrenderingofrouter-outlet【发布时间】:2017-04-2312:59:44【问题描述】:我正在开发一个具有多个组件的Angular2应用程序,这些组件依赖于通过http服务从服务器加载的一些数据(它... 查看详情
在 angular2 中渲染编辑表单。如何等待来自服务的数据?
】在angular2中渲染编辑表单。如何等待来自服务的数据?【英文标题】:Renderingeditformsinangular2.HowcanIwaitfordatafromservice?【发布时间】:2017-05-1202:07:50【问题描述】:我尝试渲染表单以使用来自服务的数据进行编辑,但出现错误,... 查看详情
如何从 Angular 2 中的 QueryList 获取子元素?
】如何从Angular2中的QueryList获取子元素?【英文标题】:HowcanIgetchildrenelementsfromQueryListinAngular2?【发布时间】:2018-01-2409:33:17【问题描述】:我是Angular2的新手。在我看来,在*ngFor中生成的相同子代很少。<ngb-panel*ngFor="letclientofc... 查看详情
Angular 2 Select - 从 Web 服务问题中加载数据
】Angular2Select-从Web服务问题中加载数据【英文标题】:Angular2Select-Loaddatafromwebservicetrouble【发布时间】:2017-03-2411:20:13【问题描述】:我正在使用ng2-select显示项目列表,以便用户可以搜索并从选择列表中找到合适的项目。我面临... 查看详情
如何从angular2中的observable获取数据
】如何从angular2中的observable获取数据【英文标题】:Howtogetdatafromobservableinangular2【发布时间】:2016-07-2313:23:13【问题描述】:我正在尝试使用rxjs在Angular中打印http调用的结果考虑下面的代码importComponent,Injectable,OnInitfrom\'@angular/cor... 查看详情
如何从 Angular 2 中的 url 获取查询参数?
】如何从Angular2中的url获取查询参数?【英文标题】:HowtogetqueryparamsfromurlinAngular2?【发布时间】:2016-06-1119:33:56【问题描述】:我使用angular2.0.0-beta.7。当一个组件加载到像/path?query=value1这样的路径上时,它会被重定向到/path。为... 查看详情
长数组列表渲染使 Angular.js 中的页面滚动变慢
】长数组列表渲染使Angular.js中的页面滚动变慢【英文标题】:LongarraylistrenderingmakespagescrollingslowinAngular.js【发布时间】:2017-06-2514:51:50【问题描述】:当尝试从一个数组(带有图像)呈现超过120个项目时,列表的滚动会变慢。基... 查看详情
如何从 ngOnInit Angular 中的服务获取数据
】如何从ngOnInitAngular中的服务获取数据【英文标题】:HowtogetdatafromaserviceinngOnInitAngular【发布时间】:2020-02-1220:22:20【问题描述】:我在尝试从http服务获取ngOnInit中的数据时遇到问题。当组件被触发时,我需要在var中设置我的数... 查看详情
如何在 Angular 2 中强制组件重新渲染?
】如何在Angular2中强制组件重新渲染?【英文标题】:Howtoforceacomponent\'sre-renderinginAngular2?【发布时间】:2016-05-0810:03:35【问题描述】:出于调试目的,我想强制一个组件重新渲染它的视图,这可能吗?【问题讨论】:“重新渲染... 查看详情
从 Angular Material 2 中的 MdDialog 返回数据
】从AngularMaterial2中的MdDialog返回数据【英文标题】:ReturningDatafromMdDialoginAngularMaterial2【发布时间】:2018-01-2017:26:43【问题描述】:我正在使用MdDialogModule来显示一个对话框窗口,其中包含一个输入字段。模态打开正常,我可以在... 查看详情
如何从rails 6中的json获取数据到Angular?
】如何从rails6中的json获取数据到Angular?【英文标题】:Howtogetdatafromjsoninrails6intoAngular?【发布时间】:2020-11-1507:19:14【问题描述】:我是js/angular的新手,我想使用rails6和Angular10编写一些“类似trello”的应用程序。我已经在rails应... 查看详情
如何从Angular 2中的子组件事件触发父组件中的本地引用?
】如何从Angular2中的子组件事件触发父组件中的本地引用?【英文标题】:HowtotriggerlocalreferenceinparentcomponentfromchildcomponenteventinAngular2?【发布时间】:2016-11-2719:31:45【问题描述】:我正在尝试使用Material2sidenav从子组件模板单击事... 查看详情