【问题标题】:Typescript property does not exist on type 'ElementFinder'“ElementFinder”类型上不存在 Typescript 属性
【发布时间】:2016-06-02 20:20:40
【问题描述】:

我正在使用 jQuery 插件在 Aurelia 中制作一个简单的树形菜单元素。我可以在元素中使用插件,但它会引发 TS 编译错误。

客户端:47 ./src/tree.ts
(18,32): 错误 TS2339: 类型 'ElementFinder' 上不存在属性 'jstree'

为什么会抛出这个错误,我该如何消除它?

附加信息:

元素渲染正常。我从 webpack - typescript starter kit 开始工作。相关代码如下。我使用 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>

【问题讨论】:

  • 你有没有安装 jstree.d.ts 文件?
  • 不,我将不得不阅读该内容

标签: typescript aurelia


【解决方案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

【讨论】:

  • 我很确定这是正确的解决方案,我也必须 typings install dt~jquery 导致其他问题
猜你喜欢
  • 2016-10-03
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
  • 2018-08-17
  • 1970-01-01
  • 2023-02-06
  • 2019-06-28
  • 1970-01-01
相关资源
最近更新 更多