Angular 2 alpha 22,如何通过属性将值传递给组件?

时间:2015-06-05 10:18:43

标签: javascript angular

我用选择器'app'声明了一个组件 然后我用它如下:

<app title="Awesome Title"></app>

在我写的模板中:

The title passed {{ title }}

我确实添加了编写组件注释:

@Component({
    selector: 'app',
    properties: {title:'title'}  // also tried ['title']
});

但没有任何显示,输出是

The title passed

有任何帮助吗?感谢

3 个答案:

答案 0 :(得分:3)

在撰写本文时,最新版本是alpha.26。 属性定义略有改变,因此这里是新语法

@Component({
    selector: 'app',
    properties: ['title:title']
});

<div [title]="Some Title"></div>

我已经开始了一系列博客文章来演示Angular 2概念。在这里查看:

http://www.syntaxsuccess.com/viewarticle/angular-2.0-examples

我有一个如何通过属性为组件分配属性的工作示例。查看树视图示例,因为它大量使用它。

答案 1 :(得分:2)

出于某种原因,properties似乎不适用于引导的根应用。

尝试创建一个名为&#39; title-app&#39;并将其加载到&#39; app&#39;。

// inner component
@Component({
  selector: 'title-component',
  properties: {title:'title'}
})
@View({ template: '<h1>{{title}}</h1>'})
class titleComponent{}

// root app
@Component({ selector: 'app' })
@View({ 
  directives: titleComponent, 
  template: '<title-component [title]="Some Title"></title-component>' 
})
class App{}

您可能还想使用最新版本的Angular2:目前alpha-26。从alpha-26 +开始,如果您的属性名称相同,则可以只调用一次。

properties: {'title': 'title'} =&gt; properties: 'title'

答案 2 :(得分:2)

正确的方法是:

svc := lambda.New(&aws.Config{Region: "eu-west-1"})

在此处查看完整的Plunker http://plnkr.co/edit/n2XWez69HNJbixH3tEmR?p=preview

但是,目前这已被破解,这是一个已知问题https://github.com/angular/angular/issues/1858