找不到名字' $'在component.ts中

时间:2018-02-06 09:27:22

标签: angular angular2-template

我收到错误:'找不到姓名' $'在组件'在角度web-app的编译时间。当我使用const $ : any = '';然后解决了错误但在浏览器控制台中出现了另一个错误:' core.js:1440 ERROR TypeError:$不是函数'使用const $ : any = '';时数据表也无法正常工作。

以下是我的用户组件代码。该组件用于数据表的用户列表。

users.component.ts

import {DataService} from './../services/data.service';
import {Component, OnInit} from '@angular/core';
import {API_ENDPOINT} from '../app.module';
import {Response} from '@angular/http/src/static_response';


const $: any = '';

@Component({
    selector: 'app-users',
    templateUrl: './users.component.html',
    styleUrls: ['./users.component.css']
})
export class UsersComponent implements OnInit {

    private url = API_ENDPOINT + '/admin_api/users';
    private users: any;

    constructor(private dataService: DataService) {
    }

    ngOnInit() {
        this.dataService.get(this.url)
            .subscribe(responce => {
                this.users = responce.data.users;
                if (this.users) {
                    setTimeout(function () {
                        var oTable1 = $('#sample-table-2').dataTable({
                            "aoColumns": [
                                {"bSortable": false},
                                null, null, null, null, null,
                                {"bSortable": false}
                            ],
                        });
                    }, 3000);
                }
            })
    }
}

3 个答案:

答案 0 :(得分:7)

  • 在控制台中首先安装jQuery

    npm install --save jquery

  • 并安装jQuery Definition

    npm install -D @types/jquery

  • 在你的组件中调用你的jquery

    import {DataService} from './../services/data.service'; import {Component, OnInit} from '@angular/core'; import {API_ENDPOINT} from '../app.module'; import {Response} from '@angular/http/src/static_response'; import * as $ from 'jquery';// import Jquery here
    . . your code . .

  • 并且不需要使用const $: any = '';,您应该删除此声明。

答案 1 :(得分:3)

我见过类似的解决方案对我有用,

  1. 安装jQuery

    npm install jquery --save

  2. 安装jQuery类型

    npm install @types/jquery

  3. 将其导入您的模块

    //THis is important import * as $ from 'jquery';

  4. 希望这会有所帮助!

答案 2 :(得分:0)

安装jQuery

  

npm install-保存jquery

并安装jQuery Definition

  

npm install -D @ types / jquery

**而不是在**

这样的组件中包含jquery
  

从jquery中将*导入为$