1

我试图在Angular 4中使用iChek库。但是当我在TypeScript文件中使用它时,出现如下错误:“Property'iCheck'在类型' JQuery的'”如何将JQuery iCheck导入到Angular 2/4

我的代码:

import { Directive, ElementRef, HostListener, Input } from '@angular/core'; 

import * as $ from 'jquery'; 

@Directive({ 
    selector: '[icheck]' 
}) 

export class IcheckDirective { 
    constructor(el: ElementRef) { 
    $(el).iCheck({ 
      checkboxClass: 'icheckbox_square-aero', 
      radioClass: 'iradio_square-aero' 
    }) 
    } 
} 

而且我想在我的组件一样来使用这个指令:

<label class="radio icheck-inline menu-label"> 
       <input type="radio" icheck name="filters.type" value="IN"> Entrant 
      </label> 

有人有问题,那么请为解决这个问题?

回答

2

试试这个

declare var $: any; 

@Directive({ 
    selector: '[icheck]' 
}) 

export class IcheckDirective { 
    $: any = $; 
    constructor(el: ElementRef) { 
     this.$(el.nativeElement).iCheck({ 
      checkboxClass: 'icheckbox_square-aero', 
      radioClass: 'iradio_square-aero' 
     }) 
    } 
} 
+0

Thx so muchhhhhh – user1814879

1

首先使用npm安装以下内容。

npm install jquery 
npm install -D @types/jquery 
npm install icheck 

之后,你应该包括I检查JavaScript文件中的.angular-cli.json

"scripts": [ 
     "../node_modules/jquery/dist/jquery.js", 
     "../node_modules/icheck/icheck.js"] 

希望这将解决您的问题

+0

THX为你的答复..是的,我安装了他们..我加入我的.angular-cli.json,但没有工作..;在ts文件中,当我写道:'构造函数(el:ElementRef){ $(el).iCheck({..})'我在iCheck中有一个红色标记,他说:'Property'iCheck' JQuery'“.. – user1814879

+0

你有没有导入icheck 'import'iCheck'' –

+0

好吧,我输入它并在我的typings.d.ts中添加了'interface JQuery {选项?: any,callback ?:功能):任何; }'。而我现在还没有红色标记..但是当我运行应用程序时,我得到'无法编译。属性'iCheck'在类型'JQuery'上不存在。'# – user1814879