问题标签 [vue-functional-component]
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.
javascript - 如何在功能组件中呈现嵌套元素?
我正在弄清楚如何在组件中呈现多个根元素,功能组件是解决方案,对我来说一切正常,但不确定如何呈现嵌套元素。
请检查comment
我描述了什么对我有用的代码。
javascript - 使用 `:is` 语法和渲染函数的高级 Vue.js 动态功能组件
背景:我已经构建了一个标准的单文件组件,它接受一个name
道具并在不同的地方查看我的应用程序的目录结构,并提供具有该名称的第一个匹配的组件。创建它是为了在我的 Vue.js CMS 中允许“子主题”,称为 Resto。这与 WordPress 查找模板文件的原理类似,首先检查子主题位置,如果找不到,则将其还原到父主题,等等。
用法:该组件可以这样使用:
我的目标:我想转换为功能组件,这样它就不会影响我的应用程序的渲染性能或出现在 Vue 开发工具中。它看起来像这样:
我尝试了很多不同的方法,但我对函数式组件和渲染函数还很陌生(从未接触过 React)。
障碍:我似乎无法弄清楚如何运行我在原始函数中调用的链式mounted()
函数。我试过从渲染函数内部运行它,但没有成功。
大问题
createElement
在将组件传递给函数(或在我的单个文件中)之前,如何找到并动态导入目标组件<template functional><template/>
?
谢谢你们所有的 Vue 负责人!✌️
更新:我偶然发现了这个使用h()
渲染功能并随机加载组件的解决方案,但我不知道如何让它接受name
道具......
vue.js - 父组件正常运行时的未知子组件
我有一个包含 2 个子组件并使用 Vue 2 组合 API 插件的父组件。
它抛出错误“[Vue 警告]:未知的自定义元素:-您是否正确注册了组件?” 仅当组件正常运行时;它与有状态组件一起使用。
<over-view>
被选中是因为 prop isSearching 为 false;但如果条件恢复(v-if="!props.isSearching"
),SearchView 也是同样的问题。
两个孩子都是有状态的组件。
vue.js - 自定义功能组件中的 VueJS Vee-validate
我正在尝试验证自定义功能组件的值,但 vee-validate 似乎忽略了它。该字段不会出现在字段列表中,也不会出现在错误列表中。
功能组件(简化):
父调用:
v-model 有效并且父表单数据已更新,但 vee-validate 似乎无法识别该组件。是不是因为它是一个功能组件,不支持 $watch API?如果可能的话,我希望这是一个简单的 textarea 包装器,而不是一个完整的组件。
- VueJS:2.6.11
- Vee 验证:2.2.15
vue.js - 如何访问功能组件中的环境变量?
如果没有将道具传递给我的功能组件,我想定义一个默认值。此默认值是一个环境变量。
当我尝试以下操作时,编译会抛出错误TypeError: Cannot read property 'env' of undefined
如果我尝试使用,也会发生同样的情况parent.process.env.VUE_APP_DEFAULTHEADER
env 变量在应用程序中的所有其他经典组件中都可以正常工作。它只是不适用于功能性的。如果我将任何其他值传递给它,那么定义默认值的三元运算符也可以很好地工作,而不是 process.env。
vue.js - Vue.js 渲染函数是否允许返回 VNode 数组?
我正在扩展 Vue.js 前端应用程序。我目前正在检查功能组件中的渲染功能。查看文档后,我了解到功能组件中的渲染函数将返回使用 CreateElement aka h 创建的单个 VNode。当我看到一个 VNode 作为数组中的一个元素返回时,我感到困惑。我在文档中找不到对此语法的任何引用。有没有人有任何见解?
vuejs3 - 在 vue3 组合 api 中动态添加包装器元素
考虑下面的一个组件,它接受tag
作为道具。
我想将道具div
作为tag
值传递,应该在下面返回 dom。
使用组合 api 的解决方案是有优势的。
performance - Vue 2:基于模板的功能组件是否与渲染功能一样高效?
在 Vue 2.5.0+ 中,我们有两种不同的方式来实现功能组件:<template functional>
和使用渲染函数。但是,我一直想知道:这两种方式实际上是否同样具有性能?