模板解析错误:无法绑定到'ng-class',因为它不是Angular 2中已知的本地属性

问题描述:

我想基于布尔值isLoginPage对img属性有条件地应用CSS样式'在Angular 2.0.0-beta.15中。 HTML的部分是如下:模板解析错误:无法绑定到'ng-class',因为它不是Angular 2中已知的本地属性

<a class="navbar-brand" href="#/"> 
    <img src="/src/resources/images/logo.png" [ng-class]="{logoStyle: isLoginPage, navLogoStyle: !isLoginPage}" /></a> 

logoStyle和navLogoStyle在css类提到及其在主html页面添加。在相应的组件,我设置isLoginPage的值,如下所示:

import {Component, Input} from 'angular2/core'; 
import {NgClass} from 'angular2/common'; 

@Component({ 
selector: 'header', 
inputs: ['isLoginPage'], 
templateUrl: './header.html', 
directives: [ROUTER_DIRECTIVES, RouterLink, NgClass] 
}) 
export class HeaderComponent { 
    isLoginPage: boolean; 
    constructor(){ 
    if(condition){ 
    this.isLoginPage = true; 
    } 
    } 

但是,当我想看到的结果,风格是不适用的错误“模板解析错误: 不能结合显示'ng-class',因为它不是已知的本地财产'。有人可以指导我吗?

在Angular2中,解析器现在查找指令的camelCase名称。所以你的情况,你想改变ng-classngClass

<img src="/src/resources/images/logo.png" [ngClass]="{logoStyle: isLoginPage, navLogoStyle: !isLoginPage}" /></a> 

You can see the documentation for the implementation here

+1

它实际上是'camelCase'。所以'[ngClass]'而不是 – Abdulrahman

+1

非常感谢你@Sean Larkin。我正在使用ng-class,它应该是ngClass。 :) – revathi

+0

哎呀,这是正确的,我想到的类参考它是正确的,它是骆驼案件。更新了信息。 –