0
我是Angular 2中的新手,所以我正在研究它并做出一些证明。更改Angular 2中的样式和绑定
我想创建一个简单的组件,并提出一些动态的问题。
所以这是我的组件:
import {Directive, Component, Input, ElementRef} from '@angular/core';
@Component({
selector: 'textboxcomponent',
template: require('./textboxparameter.component.html'),
})
export class TextBoxComponent
{
@Input() labeltext: string;
@Input() placeholdertext: string;
@Input() enabletext: boolean;
//constructor() {
// this.enabletext= false;
//}
}
和关联模板:
<div class="form-group" >
<label for="surname"> {{labeltext}} </label>
<input class="form-control" id="surname" type="text" required autofocus
placeholder={{placeholdertext}}
[style.background-color]="enabletext ? 'green': 'red'"/>
</div>
所以,如果我在构造函数中做 “enabletext” 的值,一切工作正常。好。
现在我努力使向前迈进了一步,并使用外部组件,因此创造了这个:
import { Component } from '@angular/core';
@Component({
selector: 'home',
template: require('./home.component.html')
})
export class HomeComponent {
}
,并在其模板我使用的previus组件:
<textboxcomponent labeltext="Surname" enabletext="false" placeholdertext="placeholder example"></textboxcomponent>
所以“placeholder”和“labeltext”工作正常,但不是enabletext,组件不会改变其布局变量的值。
我失踪了?
下一步是建立在homecomponent布尔变量,所以我会改变Choice上的风格,因为我以这种方式
<textboxcomponent labeltext="Surname" enabletext="homeEnabled"
placeholdertext="placeholder example"></textboxcomponent>
我将如何做到这一点希望?
感谢所有
使用'[style.background]'而不是 – anshuVersatile
thanx的aswer,但它不工作。我认为问题在于约束力。 – CaneMascherato
我解决了这种方式: 1)我用[style.background彩]在我的组件 2)当我在家里组件使用组件我写: [enabletext] =“假” 所以一切作品。 – CaneMascherato