Как удалить свойство 'queryBuilder' не существует для типа 'JQuery <HTMLElement>' - PullRequest
0 голосов
/ 24 сентября 2018

Как удалить

Свойство 'queryBuilder' не существует для типа 'JQuery '

при интеграции построителя запросов Jquery в Angular.

angular.json:

"scripts": [
"node_modules/jquery/dist/jquery.min.js",
"node_modules/bootstrap/dist/js/bootstrap.min.js",
"node_modules/jQuery-QueryBuilder/dist/js/query-builder.standalone.min.js",
...]

app.componenet.ts

import * as $ from 'jquery';
import 'jQuery-QueryBuilder/dist/js/query-builder.standalone.js';
import 'jQuery-QueryBuilder/dist/js/query-builder.js';

...


private getQueryBuilder() {
$('#builder').queryBuilder({
    //plugins: ['bt-tooltip-errors'],
    filters: [{
        id: 'name',
        label: 'Name',
        type: 'string'
    }, {
        id: 'category',
        label: 'Category',
        type: 'integer',
        input: 'select',
        values: {
            1: 'Books',
            2: 'Movies',
            3: 'Music',
            4: 'Tools',
            5: 'Goodies',
            6: 'Clothes'
        },
        operators: ['equal', 'not_equal', 'in', 'not_in', 'is_null', 'is_not_null']
    }, {
        id: 'in_stock',
        label: 'In stock',
        type: 'integer',
        input: 'radio',
        values: {
            1: 'Yes',
            0: 'No'
        },
        operators: ['equal']
    }],
    rules: this.rules_basic
});

}

ngAfterViewInit() {
    this.getQueryBuilder();
}

Я делал что-то в этом ( Как использовать Jquery Query Builder в Angular ) потоке, но он выдает ошибку и приводит к неудачной компиляции.Иногда приложение работает с этой ошибкой.

Ответы [ 2 ]

0 голосов
/ 24 сентября 2018

попробуйте это, оно будет работать.

import 'jquery';
import 'jQuery-QueryBuilder/dist/js/query-builder.min.js';
import 'jQuery-QueryBuilder/dist/js/query-builder.standalone.min.js';

declare var $: any;
0 голосов
/ 24 сентября 2018

Путь к вашему плагину queryBuilder либо неправильный

node_modules/jQuery-QueryBuilder/dist/js/query-builder.standalone.min.js

, либо у вас не установлен NPM.

...