javascript - 对象字面量只能指定已知属性,而“设置”类型中不存在“选择”
问题描述
当我尝试用 Angular 编写这个 javascript 代码时,我错过了什么?
ngOnInit() {
$('#jithesh').DataTable( {
columnDefs: [ {
orderable: false,
className: 'select-checkbox',
targets: 0
} ],
select: {
style: 'os',
selector: 'td:first-child'
},
order: [[ 1, 'asc' ]]
} );
这是原始的java脚本
$(document).ready(function() {
$('#example').DataTable( {
columnDefs: [ {
orderable: false,
className: 'select-checkbox',
targets: 0
} ],
select: {
style: 'os',
selector: 'td:first-child'
},
order: [[ 1, 'asc' ]]
} );
} );
尝试遵循此示例中的内容
https://datatables.net/extensions/select/examples/initialisation/checkbox.html
解决方案
如果可以的话,避免使用 Angular 的 jQuery
运行 jQuery 时,您的元素不在 DOM 中
ngOnInit()
。相反,将您的代码ngOnInit()
从ngAfterViewInit()
.
演示:https ://stackblitz.com/edit/angular-mn2776
此演示向您展示document.getElementById('id').outerHTML
了组件初始生命周期钩子的结果:
ngOnInit()
- 不明确的ngAfterContentInit()
- 不明确的ngAfterViewInit()
- 外层HTML
使用的代码:
ngOnInit() {
this.onInit = this.getOuterHtml();
}
ngAfterContentInit() {
this.afterContentInit = this.getOuterHtml();
}
ngAfterViewInit() {
setTimeout(() => {
this.afterViewInit = this.getOuterHtml();
})
}
private getOuterHtml() {
const el = document.getElementById('el');
return el ? el.outerHTML : 'undefined';
}
推荐阅读
- assembly - 匿名本地标签 (@@):哪些汇编器支持多步引用,例如 @FF (second-next @@)?
- python - “curl 和 pycurl”没有 sudo 就无法工作
- angular - 我想发布来自已检查产品的值,即使用户将这些字段留空
- javascript - Javascript fetch Api 不起作用初学者问题
- ios - xamarin 使用默认蓝屏启动 iphone 应用程序,然后跳转到后台。没有编译器或启动错误
- c++ - Xilinx SDK(Eclipse)“没有匹配转换功能”错误
- java - 写入文件代码导致无限循环
- multithreading - Rust 中大量线程的性能下降
- c++ - 为什么在这种情况下 lambda nullptr 解除引用有效?
- typescript - Nativescript-vue 打字稿。通过代码将自定义组件添加到布局容器