问题标签 [vue-composition-api]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
typescript - 在 Jest 中使用 setTimeout 函数测试 vue 组件
我正在尝试使用 setTimeout 测试去抖动功能。这是一个带有 ajax api 调用的输入。我尝试了 jest.useFakeTimers() 和 jest.runAllTimers() 但没有成功。我还尝试运行 jest.advanceTimersByTime(501) - 因为我的超时时间为 500 毫秒,但仍然没有运气。
表单组件:
和 Form.spec.ts:
和 mockFetch:
vuex - Nuxt 在插槽中使用组件,vuex 存储未定义
目前我正在使用带有 vue-composition API 的打字稿中的 nuxt 进行开发。利用 element-ui工具提示,我在它的命名槽中放置了一个组件,据说它的名称为 TestComponent。
在组件中,我调用了 vuex 商店
这是预期的吗?
javascript - ref 在反应式数组对象中不再反应式
以下代码工作正常。当我们更改语言时,由于以下原因,文本会正确更新ref
:
但是我们真正想要的是将 .mainNavigationLinks
作为一个reactive
对象,这样我们就可以从数组中添加和删除项目,并让 Vueref
使用array
. 根据Vue 文档,这应该是可能的
然而,当我们尝试下面的代码时,我们看到标签不再是反应性的:
为了能够将项目添加到数组并仍然具有反应性,我们在这里缺少什么?感谢您的帮助。
javascript - 如何在 VueJS 中从另一个组合调用组合函数
我一直在尝试使用 VueJS 中的新组合 API,但不确定如何解决问题。我正在寻找有关如何正确实施解决方案的一些建议。当一切都基于 vuex 时,这不是问题,因为您可以毫无问题地将操作分派到另一个模块。但是,我正在努力寻找组合实现的解决方案。
问题:
- 组件调用CompositionA的函数。
- CompositionA触发登录功能。
- 在CompositionA的登录成功/失败响应中,我想调用一个CompositionB函数。(CompositionB 包含用于显示在整个站点中使用的小吃店的数据和逻辑)
问题是有必要在每个组件中注入小吃栏依赖项,而不是从CompositionA实例化/安装它。目前的解决方案是达到这个效果:
如果存在类似下面的东西会很好,但我发现如果从CompositionA使用属性,则该属性在CompositionB中不是反应性的(方法被调用但小吃栏不显示)。我的理解是 Vue 没有将CompositionB注入到Component中,所以我只是在 CompositionA 中运行CompositionB的另一个实例。我做错了什么?这里的正确解决方案是什么?
提前致谢,
vue.js - 如何将 Vuex 命名空间的 getter 与 Composition API 一起使用
我目前正在尝试tags
从 Vuex 检索 Searchbar 模块中的 。但是,它不是反应性的。
这是组件:
和 vuex 模块
我不明白为什么。我正在使用 Typescript,所以它不支持store.Searchbar.getters['all'])
...有想法吗?
vue.js - Vue组合api没有更新文本字段的绑定值
我在初始化后更新对象的属性。
我的简化组件如下所示:
在此示例中,getNextPort
是一个返回数字的 API 调用。由于某种原因,v-text-field
没有更新。我没有看到输入字段中的值。当我调用console.log
后的对象时,getNextPort
它显示:
这是预期的结果。我也试过:
$nextTick
onMounted
$forceUpdate
但是当我开始在名称字段中输入时,vpnPort 并没有得到更新!
有人知道为什么结果没有显示在 v-text-field 中吗?
javascript - VueJs 3 / Composition API 和 Jest - 测试输入组件事件发射
我似乎在努力测试 VueJs 3 输入组件事件发射 - 这就是我所拥有的:
文本输入
文本输入.spec.js
运行测试我收到以下错误
当控制台记录emitted
我得到一个空对象{}
。
vuetify.js - 使用组合 api 和远程 api 进行 vuetify 自动完成?
问题如下:
您如何使用 Vuetify 自动完成和全新的组合 API 进行 API 调用?
typescript - 在使用 Vue Composition API 和 TypeScript 时,我应该在声明作为单个文件组件的模板 ref 时使用什么类型?
我有一个名为BusinessDetails
. 我在另一个组件中使用这个组件,并且我已经将ref
属性附加到它以访问它的属性和方法。如果我不给出ref
a 类型,则在访问它的方法时会出错"Object is possibly null"
。我尝试将类型设置为BusinessComponent
、typeof BusinessComponent
、Vue.extend(BusinessComponent)
等,但它们都会引发不同的错误。我最终决定将类型设置为any
,并接受eslint
警告。虽然这可以解决问题,但是否有合适的方法来做到这一点?
vue.js - 如何将 Vue 鼠标事件与组合 api 一起使用?
我只是想看看@mouseup、@mousedown、@mousemove 事件是如何工作的。我只有一个 div:
// html
// CSS
// Vue
现在每次单击时,我都可以看到所有 3 个事件都被调用一次,但是当我单击并拖动时没有任何反应,没有调用任何事件。
这是为什么 ?我似乎无法理解为什么。