我正在尝试制作一个可以在onmouseover事件被触发时弹出的"气泡",只要鼠标悬停在抛出onmouseover事件的项目上或者鼠标移动到气泡中,它就会保持打开状态.我的泡泡需要具备HTML和样式的所有方式,包括超链接,图像等.
我基本上通过编写大约200行丑陋的JavaScript来完成这个,但我真的想找到一个jQuery插件或其他一些方法来清理它.
我正在生成使用继承的TypeScript类.每个类都使用静态创建函数,它可能不同.
class A {
static create(arg: string): A {
// use args to create A
return new A()
};
}
class B extends A {
static create(argsForB: number): B {
// use argsForB to create B
return new B()
};
}
Run Code Online (Sandbox Code Playgroud)
由于静态函数无论如何都不应该继承,因此这个错误没有任何意义:
Class static side 'typeof B' incorrectly extends base class static side 'typeof A'.
Types of property 'create' are incompatible.
Type '(argsForB: number) => B' is not assignable to type '(arg: string) => A'.
Types of parameters 'argsForB' and …Run Code Online (Sandbox Code Playgroud) 我有几个组件使用基本相同的表,所以我正在抽象出该表.我已经解决了我的大部分动态表填充需求,但尚未找到以下解决方案.
在我的一个表实例中,行需要是可点击的.在原始表中,我只是在行中添加了一个click事件,并在我的typescript文件中调用了一个函数.
既然表是任何消费组件的子节点,我不确定如何动态添加此单击事件.这基本上是我想要实现的目标:
HTML:
<tr class="someClass" <!-- want click event here -->>
<td *ngFor="let column of row;"><div [innerHtml]="column"></div></td>
</tr>
Run Code Online (Sandbox Code Playgroud)
这是表typescript文件,其中所有数据都在visibleData对象上:
export class GenericTableComponent implements OnInit {
@Input() visibleData;
constructor() { }
ngOnInit() {
}
}
Run Code Online (Sandbox Code Playgroud)
我在这里实现了我的父HTML中的通用表
Parent HTML:
<oma-generic-table [visibleData]="visibleData"></oma-generic-table>
Run Code Online (Sandbox Code Playgroud)
这是父进程中准备数据的函数.我试图将click事件存储在一个字符串中并传递它,但到目前为止我尝试过的所有内容都失败了(数据绑定{{}},方括号等...).
transformData(visibleData) {
const ret: any = {};
ret.headings = visibleData.headings;
ret.action = '(click)="rowClicked([row.id])"';
ret.checkbox = this.checkBox; //add if the table needs checkboxes
ret.content = [];
for (let i = 0; i < visibleData.content.length; i++) {
ret.content.push(_.values(_.omit(visibleData.content[i], 'id')));
}
return …Run Code Online (Sandbox Code Playgroud)