问题标签 [vue-render-function]

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.

0 投票
1 回答
66 浏览

vuejs2 - 避免直接改变道具(渲染函数)

只是尝试使用渲染功能创建组件,但我收到了一个奇怪的警告:

在此处输入图像描述

以下组件:

组件上的Av-model="inputValue"确实触发了输入/更改,inputValue但我收到了警告?

使用 vue 2.6.11!

编辑:

不要介意 ts-ignore,它抱怨找不到类型,所以更美观!!!

0 投票
1 回答
19 浏览

vue.js - 如何在运行时将插槽包装在作用域插槽中

我有一个非常不寻常的场景。

WrapperComponent 应该管理 InnerComponent 的所有实例。但是我不知道什么会被编译到包装器组件中。

通常我会做这样的事情:

但我不能这样做是有原因的!

我需要能够在运行时创建插槽内容的多个实例。我已经用我目前得到的东西创建了一个代码沙箱。

https://codesandbox.io/s/stupefied-framework-f3z5g?file=/src/App.vue:697-774

这仅适用于静态信息,但我也有一些每个插槽实例不同的数据。

因为 VNode 是只读的,所以我无法修改 this.$slot.default.componentOptions.propsData。如果我忽略警告,结果将只是传递给插槽最后一个实例的内容。

0 投票
1 回答
4507 浏览

vuejs3 - Vue 3:resolveComponent 只能在 render() 或 setup() 中使用

我正在尝试在 Vue 3 中呈现模板。模板包含一个组件,该组件在实例上本地注册。

这会导致以下运行时警告:

此外,该renderless-pagination组件没有被编译,而是按原样添加到 HTML 中:

正如你所看到的,我resolveComponent在函数中使用render,这让我想知道它为什么会抱怨,以及为什么renderless-pagination组件没有被编译。

我检查了resolveComponent调用返回的值,它只返回组件的名称,即renderless-pagination.

我在这里想念什么?

编辑:

在@skirtle 的评论之后,我externals使用webpack. 但是,我仍然收到相同的错误:

相关webpack配置:

0 投票
1 回答
1626 浏览

javascript - Vue Composition Api 渲染功能同步发射不起作用

我想重构教程中关于渲染函数的代码以使用合成 API。一切正常,除了context.emit("update:activeTabId", tab.props.tabId);onClick 函数中的行。控制台记录tab.props.tabId显示 onClick 函数可以正常工作并正确读取 tabId,但update:activeTabId不会更新activeTabId值。是否有另一种方法可以在 Composition API 中使用同步修饰符发出事件,或者我做错了什么?

这是我的代码:

---- 应用程序.vue ----

--- tabs.js ---

0 投票
1 回答
259 浏览

javascript - 如何在 Vue 2 渲染功能中使用插槽?

我想做以下事情,但使用 Vue 2 的渲染功能

0 投票
0 回答
1018 浏览

vuejs2 - 如何从 Nuxt 中的 Vuex 中删除 window.__NUXT__ 而不会出现任何问题

我在 Nuxt 2.13 上,我遇到了window.__Nuxt__(function(a,b,c,d,.....)). 我不知道它是否会影响我的 SEO,但它让我很紧张,并显示了我所有的语言文件。

这是情况:lang.json我的应用程序中有一个文件。我阅读它并将其存储langVuex. 但window.__Nuxt__显示我不想的语言!

到目前为止,我已经找到了三种解决方案来删除它:

1:通过将此代码添加到 nuxt.config.js 链接到堆栈答案

2:通过评论node_module/@nuxt/vue-renderer/dist/vue-renderer.js 文章链接中的一些代码

3:通过使用cheerio包并从正文 链接到文章中抓取脚本

这三个人都会完成这项工作,但是!我的组件将不再延迟加载,因为我使用 Vuex 中的状态来为延迟加载提供主题地址!例如:

它会给出错误 webpack 不能延迟加载 this 为this.$store.state.siteDirection空。

我该如何解决这个问题?

0 投票
1 回答
453 浏览

javascript - 在 Vue 渲染函数中组合类名

我有一个使用渲染函数的 Vue 2 组件,如下所示:

当我像这样使用组件时:

HTML 输出为:

我怎样才能让它成为这样,以便合并 CSS 类名?

了解 Vue 2 和 3 中的答案会很有帮助。

0 投票
1 回答
199 浏览

javascript - 使用Vue组件渲染功能时的无限循环

我正在使用 Vue 组件来呈现一些表头,如下所示:

问题是,当在 hourIndex (通过数组运行)上完成 console.log 时,将进入无限循环。

getHourIndex功能是:

任何关于为什么这样做这个无限循环的方向(考虑到 hourIndex 数组只有 25 个元素)都将不胜感激。

0 投票
1 回答
243 浏览

javascript - Vue.js - 更新和渲染数组的性能成本

我在重新渲染数组项时遇到问题。我希望有人可以帮助我。有一个代码: https ://codesandbox.io/s/vuex-store-forked-2qx1g?file=/src/App.vue

我们有包含项目数组的组件。模板仅呈现集合中的第一项。2 秒后,我们更改第一个项目的标题 - 调用更新的钩子,看起来正确 4 秒后,我们将新项目添加到数组 - 再次调用更新的钩子。我是否正确理解将项目添加到数组会导致所有先前项目的重新呈现?

或者更新的钩子意味着虚拟 DOM 发生了变化,但没有发生真正的重新渲染?无论如何,这种情况会成为大量数据的性能问题吗?

0 投票
1 回答
248 浏览

javascript - 如何使用`h`创建一个非空评论节点?

以下代码将生成一个空的注释节点,即<!---->.
如何生成非空评论节点,例如<!-- Foo -->使用h