Angular 2中组件的自定义用户模板
Custom user template for a component in Angular 2
我有一个组件,它有它的默认模板:
import {Component} from 'angular2/core';
@Component({
selector: 'my-component',
template: `
<div class="container">
<div class="content">
<div *ngIf="contentRef.childNodes.length == 0">DEFAULT: <b>{{contentData}}</b></div>
<div #contentRef><ng-content select=".content"></ng-content></div>
</div>
</div>
`
})
export class MyComponent {
contentData = "DATA";
}
我希望用户在使用时能够为组件的某些部分指定自己的模板
import {Component} from 'angular2/core';
import {MyComponent} from './my.component';
@Component({
selector: 'my-app',
directives: [MyComponent],
template: `
<my-component></my-component>
<br/>
<my-component>
<div class="content">
CUSTOM: <i>{{contentData}}</i>
</div>
</my-component>
`
})
export class AppComponent { }
它产生以下标记:
<my-app>
<my-component>
<div class="container">
<div class="content">
<!--template bindings={}--><div>DEFAULT: <b>DATA</b></div>
<div></div>
</div>
</div>
</my-component>
<br>
<my-component>
<div class="container">
<div class="content">
<!--template bindings={}-->
<div><div class="content">
CUSTOM: <i></i>
</div></div>
</div>
</div>
</my-component>
</my-app>
因此,组件的"contentData"属性不会在自定义模板中呈现。是否可以以某种方式为自定义模板提供特定的绑定上下文?或者有更好的方法用自定义用户模板来实现这个案例吗?
如何在Angular2中实现数百页的网站展示了一种方法。
这不是官方的解决方案,对我来说,目前看来这可能会在最终发布之前中断。Angular2具有静态构建和解析绑定的强烈倾向。
您可以使用DynamicComponentLoader,也可以不为动态添加的内容构建Angulars绑定功能。
相关文章:
- Meteor-添加用户自定义字段的方法不起作用
- 如何在用户按下F5键或单击浏览器时显示自定义的fancybox's后退/关闭按钮
- Can用户'MediaWiki上的自定义JavaScript调用Lua模块
- 阻止用户在Netsuite中使用标准/未自定义的表单
- 根据当前用户启用“自定义操作”按钮
- 具有用户范围的Google Analytics自定义维度使用情况
- Angular 2中组件的自定义用户模板
- 谷歌地图:使用自定义标记显示当前用户位置
- 从自定义用户控件更新contenttemplate下页面中控件的id
- 自定义指令,限制用户输入特殊字符:角度Js
- 如何在javascript中对用户函数进行自定义回调
- 如何实现用户自定义的键盘快捷键(在javascript/网络上)
- 使用JS创建用户自定义的主页
- 在Angular Js中,ng-repeat可以获取用户自定义的$index增量吗?
- Jquery Datepicker -根据保存在数据库中的用户自定义时区显示日期
- Node.js query:是否有方法提示用户自定义大小的数组
- 用户自定义,但用户.user_id定义
- 为什么有些字节在使用字符集:x-用户自定义与XMLHttpRequest时前缀0xf7
- 谷歌地图API,向网站添加用户自定义地图
- 如何让用户自定义背景图像