javascript - jquery 自动完成与 aurelia.js 怎么样?

标签 javascript aurelia

我是 aurelia 的新手,我有点迷失于使用一些 jquery 插件或 jquery ui。

我使用以下命令安装了 jquery ui:npm install jquery jquery-ui --save

我正在导入:

import $ from 'jquery';
import $ from 'jquery-ui';


   attached(){
    var aTags = ["ask","always", "all", "alright", "one", "foo", "blackberry", "tweet","force9", "westerners", "sport"];

        $( "#tags" ).autocomplete({
            source: aTags
        });
    }

html:

<input type='text' title='Tags' id='tags' />

错误:

Uncaught TypeError: $(...).autocomplete is not a function
    at <anonymous>:3:18
(anonymous) @ VM10535:3

最佳答案

正如 @Marc Scheib 所指出的,您在问题中遗漏了很多有助于回答的信息。如果不知道这些信息,这里是让它发挥作用的一种方法。

使用 aurelia 的 cli:

au 新 uiautocomplete

  • 选择选项 2(默认 Typescript)
  • 选择选项 1(是,创建项目)
  • 选择选项 1(是的,安装依赖项)

au install jquery jquery-ui 这将更新您的 package.json 文件以包含这些软件包,在本地安装这些软件包并更新您的 aurelia_project/aurelia。 json 文件,其中还包含这些项目的引用。

即使 cli 尝试将正确的文件添加到您的 aurelia.json 文件中,为了使自动完成小部件正常工作,您将需要更新它放置在那里的值之一。在依赖项部分中应该有一个如下所示的条目:

      {
        "name": "jquery-ui",
        "main": "ui/widget.js",
        "path": "../node_modules/jquery-ui",
        "resources": []
      }

这需要更新为:

      {
        "name": "jquery-ui",
        "main": "ui/widgets/autocomplete.js",
        "path": "../node_modules/jquery-ui",
        "resources": []
      }

对于您的示例,我创建了一个“属性资源”。我创建了一个文件 autocomplete.ts 并将其放在 src 目录中。

autocomplete.ts

import { customAttribute, inject } from 'aurelia-framework'
import * as $ from 'jquery';
import 'jquery-ui';

@customAttribute("autocomplete")
@inject(Element)
export class Autocomplete {
  constructor(private element: Element) {
  }

  public attached() {
    var aTags = ["ask","always", "all", "alright", "one", "foo", "blackberry", "tweet","force9", "westerners", "sport"];
      $(this.element).autocomplete({source: aTags});
  }
}

然后我更新了 app.html 以包含:

<template>
  <require from="autocomplete"></require>
  <input autocomplete type="text">
</template>

希望这有帮助!

关于javascript - jquery 自动完成与 aurelia.js 怎么样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46284271/

相关文章:

javascript - 将 jwplayer in rails 添加到网络时出错

javascript - 使用aurelia上传图像到asp.net core后端

javascript - 相对于 Aurelia.js 中的 ng-include

javascript - 如何在保存时自动将当前用户添加到模型中?

javascript - 如何使用 Next.js 和 Rails 后端安全地存储 JWT?

javascript - 我应该使用哪个 JavaScript 库进行客户端断字?

javascript - 除了 keyUp 之外,还有其他方法可以检查输入是否已填写吗?

binding - 使用 Aurelia Property Observer 忽略您自己的更改的最佳方法

javascript - Aurelia 的带有对象的 computedFrom

javascript - 将自定义 header 添加到 Aurelia Fetch 请求