用字符串作为输入的angular2结构指令
angular2 structural directive with String as input
我试图创建一个结构指令与给出的例子
只是修改传递字符串作为输入在这里,我得到了"未定义"作为输入值,而调用这个指令的形式标记。
@Input() set myUnless(value: String) {
if (value=== 'something') {
this.viewContainer.createEmbeddedView(this.templateRef);
} else {
this.viewContainer.clear();
}
}
有什么帮助吗?
编辑:我们的想法是创建一个hasRole指令,它接受一个角色作为字符串,并根据是否在本地存储的角色中找到这个值返回布尔值。
实现代码为:
<a routerLink="/list" *unless="ADMIN">
<i class="fa fa-list"></i> <span>List</span>
</a>
指令的代码如下:
import { Directive, Input } from '@angular/core';
import { TemplateRef, ViewContainerRef } from '@angular/core';
@Directive({ selector: '[unless]' })
export class Unless {
constructor(
private templateRef: TemplateRef<any>,
private viewContainer: ViewContainerRef
) { }
@Input() set unless(role: String) {
return localStorage.getItem('roles').indexOf(role) > -1;
}
}
组件的属性ADMIN
实际上是undefined
;-)
使用相反
*unless="'ADMIN'"
相关文章:
- 如何在Angular2中使用jQuery插件
- 不能从angular2中的子组件指定父组件中的数组
- 更改JSON对象的结构
- 角度控制器结构
- 从键值结构中获取数据,并将其与AngularJS中ng重复的值进行比较
- 使用递归属性迭代保留属性结构
- 如何将我的json结构转换为C3.js所需的列结构
- 嵌套对象结构
- 如何为生产构建angular2应用程序
- Redux应用程序结构-在哪里放置服务/业务逻辑
- 用于视频类型的MongoDB结构's
- javascript和php中的pancard结构验证
- 如何在砖石结构中订购DOM
- 使用javascript协调angular2组件
- 如何解析结构不良的 html 代码
- Angular2将组件方法导入到另一个组件中
- Angular2在装载前
- 在Angular2的父/子组件层次结构中,你应该在什么时候订阅一个可观察对象?
- Angular2的spring-boot项目结构
- 用字符串作为输入的angular2结构指令