Angular2指令 - 字符串问题

时间:2016-09-13 12:07:17

标签: angular typescript

我们在 Angular2 中创建了指令,并且input属性应该收到string。问题是,我们无法传递字符串。

如果我们尝试这样做:

<learning-requirements [title]="You should be able to!" [content]="requirements"></learning-requirements>

它不起作用,所以我们必须这样做,然后它起作用:

<learning-requirements [title]="'You should be able to!'" [content]="requirements"></learning-requirements>

这是我们的指示:

@Component({
    selector: "learning-requirements",
    directives: [IONIC_DIRECTIVES],
    templateUrl: "build/pages/learning/components/requirements/requirements.html"
})
export class RequirementsComponent {
    @Input() public title: string;
    @Input("content") public items: Array<Requirement>;
}

知道如何使用单引号明确处理字符串吗?

2 个答案:

答案 0 :(得分:2)

声明string(Type)变量并使用它,如下所示,

<learning-requirements [title]="someVar" [content]="requirements"></learning-requirements>


export class AppComponent{
  someVar:string="You should be able to!";
}

答案 1 :(得分:2)

基本上每当你使用List(1.right, 2.right, 3.right).sequence expecting something like: List(1, 2, 3).right List(1.right, "error2".left, "error3".left).sequence expecting something like: Seq("error2", "error3").left val doubleSmall(x: Int) = if (x < 30) (x * 2).right else "error".left List(1,2,3).traverse(doubleSmall) 方括号进行属性包装时,它将使用组件的上下文([])来评估属性值(表达式)。

由于您直接传递了一个值,因此您可以直接指定this属性而不使用title方括号,这意味着您在内部属性中传递的值不会根据组件的上下文([])进行评估。

<强>标记

this