在Angular2中相同组件的TS文件的类之间共享字符串,以在模板中

时间:2018-07-23 02:24:18

标签: angular typescript components

我正在尝试在模板中打印一些字符串,但是我找不到这样的方法:

模板:

{{ MyComponentStrings.string1 }}
{{ MyComponentStrings.string2 }}
{{ MyComponentStrings.string3 }}

组件:

export class MyComponentStrings {
  string1 = 'text1';
  string2 = 'text2';
  string3 = 'text3';
}

@Component({
    selector: 'ngx-mycomponent',
    styleUrls: ['./mycomponent.component.scss'],
    templateUrl: './mycomponent.component.html',
})

export class MyComponent {
  // ...component code here
  // if I want to print i.e. string1 this won't work either
  console.log(MyComponentStrings.string1);
}

是否有实现此目标的方法,或者我必须在MyComponent中声明所有字符串?我试图将所有这些字符串放在组件类之外或另一个组件中,以免在代码中出现一串串字符串,而且我需要定义它们,因为它们将在模板上多次使用。

1 个答案:

答案 0 :(得分:1)

创建 MyComponentStrings 的实例并访问它,

constructor(){
    let comString = new MyComponentStrings();
    console.log(comString.string1);
}

DEMO