在类型' ElementFinder'中,Typescript属性不存在

时间:2016-06-02 01:22:27

标签: typescript aurelia

我正在使用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>

1 个答案:

答案 0 :(得分:1)

安装jstree的定义文件:https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/jstree/jstree.d.ts

最简单的方法是使用typingshttps://www.npmjs.com/package/typings

npm install typings --global
typings install jstree