Angular 角度5级不';不能使用ngClass指令进行应用
HTML中的所有函数都会被调用,但类不会被附加。所有类都在.css文件中定义。此组件位于另一个组件中。有人能看出什么是错误的,为什么不应用类吗 如果我使用jQuery来添加/删除.addClass()或.removeClass()类。但我想使用Angular工具,而不是直接使用DOM操作 这是我的组件Angular 角度5级不';不能使用ngClass指令进行应用,angular,angular5,ng-class,Angular,Angular5,Ng Class,HTML中的所有函数都会被调用,但类不会被附加。所有类都在.css文件中定义。此组件位于另一个组件中。有人能看出什么是错误的,为什么不应用类吗 如果我使用jQuery来添加/删除.addClass()或.removeClass()类。但我想使用Angular工具,而不是直接使用DOM操作 这是我的组件 import { Component, Input, Output, OnInit, EventEmitter } from '@angular/core'; @Component({ se
import { Component, Input, Output, OnInit, EventEmitter } from '@angular/core';
@Component({
selector: 'app-popup',
templateUrl: './popup.component.html',
styleUrls: ['./popup.component.css']
})
export class PopupComponent implements OnInit {
@Input() functionName: string;
@Input() fileName: string;
@Input() columnName: string;
ngOnInit() {
this.startPopup();
}
startPopup() {
this.setMyModalClasses(this.functionName);
this.setFunctionInputClasses(this.functionName);
this.setResultBodyClass(this.functionName);
}
setFunctionInputClasses(in: string) {
return { 'visually-hidden': true };
}
setResultBodyClass(in: string) {
return { 'text-active' : false, 'image-active' : true };
}
setMyModalClasses(in: string) {
return { 'my-modal-initial': true, 'max-height-90': true };
}
}
这是我的HTML
<div class="my-modal" [ngClass]="setMyModalClasses()">
<div class="my-modal-content">
<div class="initial-display">
<div id="functon-input" class="functon-input"
[ngClass]="setFunctionInputClasses()">
should not be on display
</div>
</div>
<div class="result-display">
<div id="result-body" class="result-body"
[ngClass]="setResultBodyClass()">
ABC ABC ABC
</div>
</div>
</div>
</div>
不应该展出
美国广播公司
您的函数返回的是样式,而不是类名,因此您可能应该尝试使用[ngStyle],而不是[ngClass]。函数setMyModalClasses()没有传入参数,而是在TS文件中传入参数。所有功能都相同。
我认为startPopup()是不必要的setFunctionInputClass的:sring中有一个输入错误。无论如何,为什么那个类函数有一个参数?在htmlwhich
.css
文件中没有使用它。您在声明那些css样式吗?@krishnannijeevan感谢您注意类型。我会改正的。但是这种类型在我的真实代码中没有,只有在这里。在函数的某个参数处。。。我简化了代码,以便专注于这一点(当然,我在发布之前检查了我的简化代码)。@Pengyy根据组件定义,所有css类都在popup.component.css文件中。不,我的函数返回css类,当然,有一系列样式。问题是div没有从setFunctionInputClasses或class=“functon input”获取所需的类?我的setFunctionInputClasses()正在尝试向div添加其他类。在这种特殊情况下,它需要附加一个视觉隐藏类,该类在css文件中定义如下:。视觉隐藏{display:none;}何处是。视觉隐藏已定义?在popup.component.css或父组件css?所有css类(包括可视隐藏)都在popup.component.css文件中定义。您说:“…没有传递参数…”是什么意思?你能为我的任何一个函数提供你的例子吗?