我正在尝试传递布尔值作为输入,如下所示:
import { Component, Input, AfterViewInit, OnInit, AfterContentInit } from '@angular/core';
@Component({
selector: "dac-accordion",
templateUrl: "./dac-accordion.html",
})
export class DacAccordion implements OnInit {
@Input("dac-collapse")
collapse: boolean = false;
constructor() {
}
ngOnInit() {
console.log(">>>>>>> ", this.collapse); //This prints false.
UIkit.accordion($("#accordion"), { collapse: this.collapse});
}
}
当我打印出“this.collapse”的值时,它会输出“false”,因为我正在使用angular2中的@Input指令传递它。
但这似乎不适用于此代码段。
只有当我明确地尝试传递它时才有效:
UIkit.accordion($("#accordion"), { collapse: false });
发生了什么事?!它是UiKit本身的东西吗?!
答案 0 :(得分:0)
问题是因为在Angular中如果我写input="false"
,则此输入将作为' String'传递给组件输入。而不是'布尔',所以当我打印折叠值时,它打印" False",但不打印布尔值。所以基本上我已经转换了" collapse"的字符串值。 to Boolean并将其传递给组件选项,并且工作正常。