我正在使用jQuery插件在Aurelia中创建一个简单的树状菜单元素。我能够在元素中使用插件,但它会抛出TS编译错误。
客户:47 ./src/tree.ts
上不存在
(18,32):错误TS2339:财产' jstree'类型' ElementFinder'
为什么会抛出此错误,如何消除它?
其他信息:
元素渲染没问题。我从webpack-typescript入门套件开始工作。相关代码如下。我使用npm install jstree
来包含jstree库。
tree.ts :
import { inject, customElement } from 'aurelia-framework'
import { DOM } from 'aurelia-pal'
import 'jstree/dist/themes/default/style.min.css'
import 'jstree'
@customElement('tree')
@inject( DOM.Element )
export class Tree {
element : HTMLElement = null;
constructor ( element : HTMLElement ){
this.element = element;
}
attached() {
$( '#' + this.element.id ).jstree({
'core' : {
'data' : [
{
"text" : "Root node",
"state" : {"opened" : true },
"children" : [
{
"text" : "Child node 1",
"state" : { "selected" : true },
"icon" : "fa fa-file-o"
},
{ "text" : "Child node 2", "state" : { "disabled" : true } }
]
}]
}});
}
}
tree.html :
<template></template>
其他模块(welcome.ts / welcome.html)
<require from="./tree"></require>
<tree id="menuTree"></tree>
答案 0 :(得分:1)
安装jstree的定义文件:https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/jstree/jstree.d.ts
最简单的方法是使用typings
:https://www.npmjs.com/package/typings
npm install typings --global
typings install jstree