【发布时间】:2019-02-16 18:42:11
【问题描述】:
我想将在我的 vue.js/Webpack 中选择的 jQuery 插件与 TypeScript 应用程序一起使用。
我读到最好将插件包装在自定义 Vue 组件中。
我安装了 NPM 包:
npm install jquery --save
npm install @types/jquery --save
npm install chosen-js --save
npm install @types/chosen-js --save
我的组件:
<template>
<select>
<option value="1">Test1</option>
<option value="2">Test2</option>
</select>
</template>
<script lang="ts">
import { Component, Prop, Vue } from "vue-property-decorator";
import $ from 'jquery';
import 'chosen-js';
@Component
export default class ChosenSelect extends Vue{
@Prop()options!:string;
@Prop()value!:string;
mounted() {
let vm = this;
let el = $(vm.$el);
console.log(el);
}
}
</script>
没有 import 'chosen-js' jQuery 正在工作 - 当我在另一个组件中使用该组件时,我会得到一个控制台输出。
使用 import 'chosen-js' 我只能从所选库中获得 Uncaught ReferenceError: jQuery is not defined。
导入 jQuery 和 selected-js 并在 vue Typescript 组件中使用它的正确方法是什么。
【问题讨论】:
-
为什么要在 Vue.js 旁边使用 jQuery?像 Vue.js 这样的框架的全部意义在于避免直接的 DOM 操作......
-
因为存在一些非常优秀且功能强大的 jQuery 插件,但没有相同质量的 vue.js 实现。为什么“扔掉”所有工作多年的东西? ;-)
-
因为您有滑块、图像库和菜单/导航系统等组件是用 jQuery 编写的。
标签: javascript jquery typescript vue.js webpack