ngClass 没有正常工作
ngClass is not working like it should
我正在玩弄 ngClass,但我不知道自己做错了什么。它表现出奇怪的行为。似乎当我为 ngClass 分配一个函数时它不起作用,但是如果我为它分配一个对象文字它就可以工作。我怎样才能让 ngClass 与我的组件的功能一起工作?
ProposalForm.ts
import {Component} from 'angular2/core';
import {NgClass} from 'angular2/common';
@Component({
selector: 'proposal-form',
template: `
<div [ngClass]="setClasses()">
ghtfhg
</div>
<div [ngClass]="{active:true, disabled:true}">
1111111
</div>`,
directives:[NgClass]
})
export class ProposalForm {
setClasses() {
return {active:true, disabled:true};
}
}
看看 Chrome 的 Inspector,这是 HTML
<proposal-form _ngcontent-xxb-2="">
<div class="">
ghtfhg
</div>
<div class="active disabled">
1111111
</div></proposal-form>
您没有提供太多关于什么或如何不起作用的信息。我假设问题是 setClasses()
总是 returns 一个不同的对象,而 Angulars 变化检测不喜欢那样。
您应该绑定到一个字段
classes = {active:true, disabled:true};
然后在 classes
所依赖的值发生变化时更新 classes
的值。
@WShell。你做的一切都正确。但是,我已将此问题报告给 angular 团队,他们已确认这是一个错误。像使用方法 set类 从组件设置 类 一样,在 Angular2 的最后几个版本中不起作用。现在你必须像这样动态地设置你的 类 内联:
[ngClass]="{active: isOn, disabled: isDisabled}"
我正在玩弄 ngClass,但我不知道自己做错了什么。它表现出奇怪的行为。似乎当我为 ngClass 分配一个函数时它不起作用,但是如果我为它分配一个对象文字它就可以工作。我怎样才能让 ngClass 与我的组件的功能一起工作?
ProposalForm.ts
import {Component} from 'angular2/core';
import {NgClass} from 'angular2/common';
@Component({
selector: 'proposal-form',
template: `
<div [ngClass]="setClasses()">
ghtfhg
</div>
<div [ngClass]="{active:true, disabled:true}">
1111111
</div>`,
directives:[NgClass]
})
export class ProposalForm {
setClasses() {
return {active:true, disabled:true};
}
}
看看 Chrome 的 Inspector,这是 HTML
<proposal-form _ngcontent-xxb-2="">
<div class="">
ghtfhg
</div>
<div class="active disabled">
1111111
</div></proposal-form>
您没有提供太多关于什么或如何不起作用的信息。我假设问题是 setClasses()
总是 returns 一个不同的对象,而 Angulars 变化检测不喜欢那样。
您应该绑定到一个字段
classes = {active:true, disabled:true};
然后在 classes
所依赖的值发生变化时更新 classes
的值。
@WShell。你做的一切都正确。但是,我已将此问题报告给 angular 团队,他们已确认这是一个错误。像使用方法 set类 从组件设置 类 一样,在 Angular2 的最后几个版本中不起作用。现在你必须像这样动态地设置你的 类 内联:
[ngClass]="{active: isOn, disabled: isDisabled}"