如何在角度2中有条件地分配属性?

时间:2017-06-09 09:52:57

标签: angular angular2-template

import {Component} from 'angular2/core'

@Component({
  selector: 'my-component',
  template: `
      <span [class.is-awesome]="InputElement.value='yes'">
         Is Is Awesome?
      </span>
      <input type="text" #InputElement (keyup)="0" )>
  `,
  styleUrls: ['src/css/component.css']
})

export class MyComponentComponent {
  name='Muhammad Bilal'
}

错误:

  

TS2345:类型'{selector:string; template:string;是:   串; styleUrls:string []; }'不能赋值给类型的参数   '{selector?:string;输入?:string [];输出?:string [];   properties?:string [];事件?:strin ......'。对象文字可能只是   指定已知属性,'ye

'我不知道为什么当我写'是'时为什么会出错?

2 个答案:

答案 0 :(得分:0)

给出错误因为您要分配变量InputElement.value='yes', 它应该是InputElement.value==='yes'

 <span [class.is-awesome]="InputElement.value==='yes'">
     Is Is Awesome?
 </span>

答案 1 :(得分:0)

如果您要检查条件,请在角度2中使用===。在您的代码中,您使用"="将值'yes'分配给InputElement.value,这就是您收到此错误的原因。

import {Component} from 'angular2/core'

@Component({
  selector: 'my-component',
  template: `
      <span [class.is-awesome]="InputElement.value==='yes'">
         Is Is Awesome?
      </span>
      <input type="text" #InputElement (keyup)="0" )>
  `,
  styleUrls: ['src/css/component.css']
})

export class MyComponentComponent {
  name='Muhammad Bilal'
}