angular2:在custom指令中设置@Input绑定属性的方法

时间:2017-05-01 07:57:39

标签: angular set directive

我现在正从Angular1迁移到Angular2。在我的应用程序中,我在自定义指令部分遇到了一个令人困惑的问题。演示代码如下:

import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core'

@Directive({
     selector: '[myUnless]'
})
export class UnlessDirective {
    @Input('myUnless')
    set condition(newCondition:boolean) {
        if {!newCondition} {
            this.viewContainer.createEmbeddedView(this.templateRef);
        } else {
            this.viewContainer.clear();
        }
    }

    constructor(
        private templateRef: TemplateRef <any>,
        private viewContainer: ViewContainerRef
    ) {}
}

<p *myUnless="boolValue"></p>

这是结构指令,与NgIf相反。

我无法理解的是@Input绑定部分。一般来说,格式如下:

@Input('myUnless')
condition

所以condition是可变的。这是可以理解的。
在上述情况下,根据我的搜索,set是条件的方法。不完全明白。怎么样?

0 个答案:

没有答案