javascript - 本地函数在 Vue 中不起作用使用 useWebWorkerFn
问题描述
useWebWorkerFn
我正在尝试使用以下是我执行相同操作的代码来过滤对象数组
import { useWebWorkerFn } from '@vueuse/core'
import { doLowerCase } from './filtering.js'
async function asyncDataSearch(data,searchWords) {
const { workerFn } = useWebWorkerFn(dataSearch, {
dependencies: [
'https://cdn.jsdelivr.net/npm/lodash-es@4.17.21/every.js',
'https://cdn.jsdelivr.net/npm/lodash-es@4.17.21/includes.js'
],
})
const filteredData = await workerFn(data, searchWords)
return filteredData
}
async function dataSearch(data, searchWords) {
return data.filter((e) => {
let isTrueName = true;
if (searchWords.length > 0) {
const myBigStr = doLowerCase(
.trim(
`${e.fname}${e.lname} ${e.cname}`
);
isTrueName = _.every(searchWords, (el) => _.includes(myBigStr, el));
}
return isTrueName;
});
}
下面是filtering.js
文件中的 doLowerCase 函数。
export function doLowerCase(myText = "") {
if (myText) {
return myText.toLowerCase();
} else {
return "";
}
}
现在的问题是当我添加 lodash.min.js cdn url 时 lodash 函数可以工作,但是当我尝试添加每个函数的依赖项时,我不想导入整个 lodash 包,如此处所述。它显示无法导入脚本的错误。同样在上面的代码doLowerCase
中是另一个文件中存在的函数,该函数无法正常工作,因为它无法访问,如何按预期导入和使用该函数。有关更多信息,请访问VueUse
解决方案
推荐阅读
- node.js - 如何在 Windows 上使用 Node.js 设置文件访问权限?
- angular - Angular 7/Typescript 中的交叉点观察器
- php - Laravel-VueJS axios URL 在共享主机上显示 404 错误
- c++ - 如何使 SFINAE 与模板专业化一起工作?
- amazon-web-services - DynamoDB 在 put/post 请求中插入带有触发器的时间戳
- stream - 来自本地网络中 gstreamer 的 WebRTC 流,安全性最低
- ruby-on-rails - Reject_if + 添加错误
- android - 在 Oculus GO 触摸板上滑动会触发 UI 点击
- sql - 更新Sql-实际日期需要是流水超过负数的日期
- hibernate - 休眠查询导致 Oracle 中缺少表达式