【发布时间】:2018-09-30 14:46:16
【问题描述】:
HTML 中的所有函数都被调用,但没有附加类。所有类都在 .css 文件中定义。该组件托管在另一个组件中。谁能看到有什么问题以及为什么没有应用类?
如果我使用 jQuery 来添加/删除 .addClass() 或 .removeClass() 类。但我想使用 Angular 工具而不是直接使用 DOM 操作。
这是我的组件
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>
【问题讨论】:
-
setfunctionInputClasses 的 : sring 中有一个错字。无论如何,为什么那个类函数有一个参数?它没有在 html 中使用
-
你在哪个
.css文件中声明了那些css样式? -
@KrishnanunniJeevan 感谢您指出类型。我会纠正它。但是这种类型不在我的真实代码中,只有在这里。在函数的参数处...我简化了代码以专注于这一点(当然,我在发布之前检查了我的简化代码)。
-
@Pengyy 根据组件定义,所有的 css 类都在 popup.component.css 文件中。