- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的应用程序中有一个名为 pq-button 的组件:
<div class="container mt-5" *ngIf="categoryData">
<div class="row">
<div class="col">
<h5 class="text-center">I am looking for a
<pq-button [list]="listCategories" (onSelect)="setCategory($event)" title="{{ category ? category.name : 'Category' }}"></pq-button> that can
<pq-button [list]="listCriteria" [disabled]="!category" (onSelect)="setCategory($event)" title="{{ criteria ? criteria.name : 'Criteria' }}"></pq-button> and is good for
<pq-button [list]="categoryData.list" [disabled]="!category" (onSelect)="setCategory($event)" title="{{ persona ? persona.name : 'Persona' }}"></pq-button></h5>
</div>
</div>
</div>
当我加载我的应用程序时,它可以正常工作。然后,当我运行 ng test 时,我得到的第一个错误是:
AppComponent should create the app Failed: Template parse errors: Can't bind to 'list' since it isn't a known property of 'pq-button'.
它说的第一件事是确保它是该模块的一部分。因此,当我查看模块时,我看到了以下内容:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { HttpClientModule } from '@angular/common/http';
import { AppComponent } from './app.component';
import { SharedModule } from './shared/shared.module';
import { SelectorComponent } from './selector/selector.component';
import { ButtonComponent } from './button/button.component';
@NgModule({
declarations: [
AppComponent,
SelectorComponent,
ButtonComponent
],
imports: [
BrowserModule,
BrowserAnimationsModule,
HttpClientModule,
SharedModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
所以它是其中的一部分。有谁知道它会失败的任何其他原因吗?
<小时/>根据要求,这是pq-button组件和pq-selector组件:
View :
<button class="btn" type="button btn-default" [ngClass]="{ 'btn-active': selected }" [disabled]="disabled" (click)="openSelector = !openSelector">{{ title }}</button>
<pq-selector [items]="items" colour="#e95344" (onSelect)="set($event)" [(visible)]="openSelector"></pq-selector>
代码:
import { Component, Input, Output, EventEmitter, OnChanges } from '@angular/core';
@Component({
selector: 'pq-button',
templateUrl: './button.component.html',
styleUrls: ['./button.component.scss']
})
export class ButtonComponent implements OnChanges {
@Input() list: Function;
@Input() title: string;
@Input() disabled: boolean;
@Output() onSelect = new EventEmitter<string>();
items: any[];
constructor() { }
ngOnChanges() {
if (!this.disabled)
this.list().subscribe(response => this.items = response);
}
set($event) {
this.onSelect.emit($event);
}
}
和选择器 html:
<div class="container-fluid selector" [ngStyle]="{'background-color': colour}" [@dialog] *ngIf="visible">
<div class="row h-100 justify-content-center">
<div class="col-2 my-auto">
<ul class="list-unstyled">
<li *ngFor="let item of items"><a href="#" (click)="select(item)">{{ item.name }}</a></li>
</ul>
</div>
</div>
</div>
<button type="button" class="close" aria-label="Close" (click)="close()">
<span aria-hidden="true">×</span>
</button>
和代码:
import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
import {
trigger,
state,
style,
animate,
transition
} from '@angular/animations';
@Component({
selector: 'pq-selector',
templateUrl: './selector.component.html',
styleUrls: ['./selector.component.scss'],
animations: [
trigger('dialog', [
transition('void => *', [
style({ transform: 'scale3d(.3, .3, .3)' }),
animate(100)
]),
transition('* => void', [
animate(100, style({ transform: 'scale3d(.0, .0, .0)' }))
])
])
]
})
export class SelectorComponent implements OnInit {
@Input() items: any[];
@Input() colour: string;
@Input() closable = true;
@Input() visible: boolean;
@Output() onSelect = new EventEmitter<string>();
@Output() visibleChange: EventEmitter<boolean> = new EventEmitter<boolean>();
private show: boolean;
constructor() { }
ngOnInit() {
this.colour = this.colour || '#000000';
}
select(item) {
this.onSelect.emit(item);
this.close();
}
close() {
this.visible = false;
this.visibleChange.emit(this.visible);
}
}
希望对您有所帮助!
最佳答案
在阅读了几个类似的场景后,我认为可能的解决方案是您需要确保 app.component.spec.ts
具有以下内容:
import { ButtonComponent } from './button/button.component';
...
describe('AppComponent'), () => {
...
beforeEach(async(() => {
TestBed.configureTestingModule({
imports: [
...
],
declarations: [ ButtonComponent ]
})
.compileComponents();
}));
...
app.component.spec.ts 文件需要对子组件具有与 app.component.ts 文件相同的可见性。
关于 Angular 和 karma : Can't bind to 'list' since it isn't a known property of 'pq-button' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51009440/
query := "WITH b(ColA, ColB) AS (VALUES ($1,$2)) UPDATE schema_name.table_name AS a SET ColC = b.Col
为了简化代码,并防止一次又一次地传递相似的参数,我为以下某些结构创建了Put方法。 例如,此处未使用UID的原因是因为UID被设置为自动增加值。 type User struct { UID
我的 SSCE: public class ComparableItem implements Comparable { private final int itemNo; publi
我在我的项目中使用 GORM,一切都很好,直到我收到一个错误: pq: sorry, too many clients already 我只是使用默认配置。错误发生在我对我的应用程序做了很多测试请求之
就像在 VBA 中一样,我们可以将函数宏保存在 .xlam 文件中并将它们加载到另一个文件中。在电源查询中,我想将常用的函数存储在一个中心位置,并在必要时引用这些位置。 我知道我们可以按照this g
假设db的类型为*sql.DB(使用ugt lib/pq驱动程序),则以下代码会导致连接泄漏: rows, err := db.Query( "select 1 from th
我有以下代码: package main import ( "database/sql" "fmt" "github.com/lib/pq" ) const ( DB_
我正在运行 Digital Ocean 全新安装的 Ubuntu 14.04。我通过调用 sudo apt-get install postgresql postgresql-contrib 安装了
当我多次调用 GetMessages() 时,出现了 pq: sorry, too many clients already 错误。 请找到更新后的代码: main()代码 func main() {
在 PostgreSQL 数据库中我有一个表: | ORGANIZATION_ID | FACTOR_IDS | CALCULATION_VALUES | |-----------------|
我有以下函数应该从我的想法表中检索一行: func (s *IdeaService) GetIdea(id int64) (*ideaservice.Idea, error) { stmt,
我遇到问题,需要一些提示。我已经为 pq 公式编写了一个函数,想问一下,如何返回两个值?如何在函数中插入可选参数?就像平方根一样,这并不总是需要的?这是我的代码。我很感激任何帮助。提前致谢。 doub
在 Golang 应用程序中,我对 PostgreSQL 数据库进行 sql 查询,它返回了一个 int 数组。 var identifiers [] pq.Int64Array // Execute
我遇到了这个问题 db, err := sql.Open("postgres", "user=xxx dbname=xxx connect_timeout=5 sslmode=disable")
我在 go 中使用 pq 驱动程序 ( http://github.com/lib/pq ) 写入 postgres 数据库,但是当大量事务同时发生时,驱动程序会出现错误并执行以下操作: pq: so
我已经创建了我的 ZPL 字符串并在最后附加了 ^PQ +numCopies。调试器用 ^PQ3 显示整个字符串是正确的在末尾。但打印机只能打印 1 份。 打印机是 110Xi4,板载配置显示它在 Z
尝试打开数据库,但说用户“postgres”的密码身份验证失败 我找不到这个问题的根本原因。第一次,我正在使用Docker。求助 func openDB() (*sqlx.DB, error) {
我尝试创建一个简单的插入语句并得到错误: pq: syntax error at or near "," txn, err := db.Begin() stmt, err := db.Prepare(
使用 gorm 对 postgres 表进行表扫描,使用 libpq,它没有加载 pq.Int64Array。 简化模型: type Event struct { ExcludeDates p
我在 lib/pq GO 包中遇到了一个奇怪的问题。 尝试打开连接时,我收到以下错误: vendor/github.com/lib/pq/notify.go:790: undefined: time.
我是一名优秀的程序员,十分优秀!