我们在 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>;
}
知道如何使用单引号明确处理字符串吗?
答案 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