如何在Angular 2中将变量附加到$ scope?

时间:2016-09-17 19:52:56

标签: javascript angular typescript

查找角度2语法很痛苦 - 一切都已过时。话虽如此,将变量(简单或对象)附加到“$ scope”的正确方法是什么? (我意识到控制器$ scope的想法不再存在......或者控制器就此而言):

import {Component} from '@angular/core'

@Component({
  selector: 'testtag',
  templateUrl: './simplecomponent.component.html',
})

export class SimpleComponent {

  public myNumber : number = 5; 

}

HTML:

<div>Hi from component template! {{myNumber}}</div>

此代码works。我可以在模板输出中看到“5”。但是,我读过的所有内容似乎都说我需要做this.muNumber = 5;之类的事情。这是用于使用普通javascript的时候吗?使用打字稿时,this是否相关?如果是这样,怎么样?

tl; dr:目前在Angular 2中进行单向和双向绑定的正确方法是什么? (现在,“最终”Angular 2已经出局)。

1 个答案:

答案 0 :(得分:0)

看一下这个问题,您似乎想知道如何在不使用5的情况下将this作为输出?

正在打印5,因为您直接将初始值分配给类myNumber的属性SimpleComponent。由于使用5初始化,因此在呈现时会打印5

如果您想在示例中使用this,那么这就是您的组件的样子

export class SimpleComponent {
  public myNumber : number; 
  constructor() {
    this.myNumber = 5;
  }
}

简而言之,无论何时尝试访问构造函数内部的类属性或组件内的任何函数,都必须使用this