小编Dan*_*l D的帖子

将Intro.JS库添加到Vue-Cli/Webpack项目

我正在使用vue-cliwebpack构建我的第一个项目,我不确定如何正确使用外部JavaScript库来实现我的项目.

我想添加Intro.js库,它只需要我导入intro.js,为一些HTML元素添加一些标签,并调用introJs().start()函数.

我已经安装了库 npm install introj.js --save

我已经通过添加import introJS from 'intro.js'到我<script>App.vue文件部分导入了库.

我检查了编译后的app.js文件,我知道introJS正在编译,所以一切都很好.

我的问题是,我在哪里放introJs().start()?我尝试将它放在文件的mounted()功能中,App.vue但这不起作用.

附加信息:当我尝试introJS().start()从该mounted ()方法运行时,App.vue我收到此错误:Error in mounted hook: "TypeError: __WEBPACK_IMPORTED_MODULE_7_intro_js___default(...) is not a function"

javascript intro.js webpack vue.js vuejs2

5
推荐指数
1
解决办法
1884
查看次数

创建一个URL并根据其参数设置Vue.js Vuex状态

我有一个Vue.js内置的SPA,可让用户输入多个值来创建类似配方的内容。所有这些值都以Vuex状态存储。我希望能够使用用户输入的状态值创建URL,以便另一个用户可以使用已经输入的值加载应用程序。本质上,我希望允许用户通过共享URL共享他们在我的应用程序中创建的食谱。

我在想象一个“共享”按钮,它将创建的URL复制到用户的剪贴板,然后他们可以将其发布到社交媒体或其他任何内容上。然后,当有人访问该链接时,他们将转到我的应用程序,并且vuex状态值将自动更新为URL中找到的参数值。

实现此功能的最佳方法是什么?这有可能vue-router吗?

vue.js vue-router vuex vuejs2

5
推荐指数
1
解决办法
3162
查看次数

如何将异步函数推送到数组而不执行未来的 Promise.all

我有一些异步函数可以调用 REST API 并返回结果。我想使用 Promise.all 一次调用其中几个函数并等待完整结果。我了解 Promise.all 的工作原理,这不是 Promise.all 的问题。这是使用 Array.push 动态创建我想要调用的异步函数数组的问题。

所以这是场景。我的应用程序的用户加载了一个页面。该页面需要从 API 检索数据。它使用我提到的那些异步函数来做到这一点。但是,页面需要检索的数据根据​​设置的参数而有所不同。所以有时,它可能需要检索用户列表、特定客户和特定项目。其他时候,它可能需要获得所有用户和所有项目,而没有客户。

所以我的代码看起来像这样:

created() {
  let promiseList = []
  if (options.getCustomers) { promiseList.push(listCustomers())
  if (options.getCustomer) { promiseList.push(getCustomer(customerId)) }
  if (options.getUsers) { promiseList.push(getUsers()) }
  await Promise.all(promiseList)
}
Run Code Online (Sandbox Code Playgroud)

所以这在某种程度上是有效的。Promise.all 工作正常。问题是我不能在没有立即调用函数的情况下将函数推送到数组。因此,我推送到 promiseList 数组的每个函数都会被调用两次:一次又一次使用 Promise.all。

如何将异步函数作为引用推送到数组,以便它不会立即执行?

javascript arrays asynchronous promise

2
推荐指数
2
解决办法
642
查看次数