我收到错误:'找不到姓名' $'在组件'在角度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);
}
})
}
}
答案 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)
我见过类似的解决方案对我有用,
安装jQuery
npm install jquery --save
安装jQuery类型
npm install @types/jquery
将其导入您的模块
//THis is important
import * as $ from 'jquery';
希望这会有所帮助!
答案 2 :(得分:0)
安装jQuery
npm install-保存jquery
并安装jQuery Definition
npm install -D @ types / jquery
**而不是在**
这样的组件中包含jquery从jquery中将*导入为$