composition 相关问题

合成是将程序的各个部分组合或组合成更大程序的过程。

工厂功能及组成

我的 JavaScript 代码如下: const 计算直径 = (圆) => ({ 获取直径(){ return (圆.半径 * 2); } }); constcalculateCircumfrance = (圆) => ({ 得到

回答 1 投票 0

如何在没有样板代码的情况下向多个方法添加验证检查?

Google 的 Android Basics with Compose 课程中有以下代码:https://pastebin.com/X0VZSmCg。 我需要在 SmartHome 类方法中实现检查: 我的turnOnTv() 和turnOnLight()...

回答 1 投票 0

Unicode有“组合字符”。如何使用它们?

通过组合字符,可以在单个位置使用 2 个 unicode 字符,创建两个图形的组合。我正在考虑简单的 ascii 艺术,我需要首先使用,如维基百科......

回答 4 投票 0

是否可以组合部分 JSONSchema 来简化模式定义?

我正在构建一个架构,其中有一个要添加的项目数组。每个项目代表一个包含数据和附加的一些元数据(配置值)的实体。 元数据几乎总是

回答 1 投票 0

JS 中基于 Mixin 和 Trait 的组合

我在组合和混合方面遇到了一些麻烦。 例如,假设我们有一个 AHero 和 Hero1 对象。 所有英雄都可以移动,所以 AHero.move() 是一个东西。 现在,在开发的某个时刻,我...

回答 1 投票 0

用组合模拟字段继承

我有几对结构,其中一个的字段是另一个的完美超集。我想模拟某种继承,这样我就不必为每个结构都有单独的情况......

回答 2 投票 0

单元测试中的重复

假设我有一个如下所示的课程: 公共类组件 { 私有只读对象_a; 私有只读对象_b; 私有只读对象_c; 公共对象OperationX()...

回答 1 投票 0

将多个参数和多个函数传递到一个函数中

我有一个功能 等待 mainFunction( 函数 1, 函数 2, 函数 3) 我还想将多个函数传递到 mainFunction 中 const mainFunction = async (函数1, 函数2, 函数3) =...

回答 3 投票 0

如何导出vue3中childComponent的所有暴露

包装第三方组件时,可以使用“v-bind=$attrs”自动传递props和emits。 childComponent 的公开如何像他们一样自动传递? // 子组件 包装第三方组件时,可以使用“v-bind=$attrs”自动传递props和emits。 childComponent 的暴露如何像他们一样自动传递? // ChildComp <script setup lang="ts"> import { PropType } from 'vue'; defineProps({ name:String, list:Array as PropType<any[]>, }) defineEmits(['change', 'delete']) defineExpose({ method1:()=>{ //... }, method2:()=>{ //... }, method3:()=>{ //... }, method4:()=>{ //... }, ... }) </script> // MyComp <template> <--! others --> <ChildComp v-bind="$attrs"/> </template> <script setup lang="ts"> import ChildComp from './ChildComp.vue' defineExpose({ myMethod:()=>{ //... } }) // method1,method2,method3,method4... of ChildComp // How to expose all? </script> 自动暴露子组件传递

回答 0 投票 0

Vue 3 中单个脚本标签内的多个可组合实例

我目前正在重写当前使用 Options API 编写的组件。从代码剪切的角度来看,重写的一个有趣的点是我们的许多模态,它们都......

回答 1 投票 0

Vue 组合 api 反应式属性

在使用 typescript 的 vue 3 项目中,我有两个属性区域设置和内容: 从“vue”导入{计算,参考} 从“vue-i18n&...</desc>导入{useI18n}” <question vote="0"> <p>在使用 typescript 的 vue 3 项目中,我有两个属性 <pre><code>locale</code></pre> 和 <pre><code>content</code></pre> :</p> <pre><code>&lt;script setup lang=&#34;ts&#34;&gt; import { computed, ref } from &#39;vue&#39; import { useI18n } from &#34;vue-i18n&#34; import { Landing, Locales } from &#34;@types&#34;; interface Props { item: Landing; } const props = defineProps&lt;Props&gt;(); const i18nLocale = useI18n(); const locale = computed(() =&gt; { return i18nLocale.locale.value as unknown as Locales }) const content = computed(() =&gt; { return props.item.content[locale.value] }) // const locale = ref(i18nLocale.locale.value as unknown as Locales); // const content = ref(props.item.content[locale.value]); &lt;/script&gt; </code></pre> <p>当 i18nLocale.locale.value 更新时,我计算的区域设置会发生变化,我的内容也会发生变化。这很好用。</p> <p>但是,如果我使用 <pre><code>ref()</code></pre> 对注释行执行相同操作,则不会更新任何内容,需要使用计算,这是一个好方法吗?</p> </question> <answer tick="false" vote="0"> <p>注释行声明带有初始值的引用。虽然这些引用可以手动更改,但它们没有对数据源的引用,并且无法对它们的更改做出反应。</p> <p>但是,您不需要 <pre><code>locale</code></pre> 的计算属性,因为 <pre><code>i18nLocale.locale</code></pre> 已经是一个引用。您可以直接使用它,或者,如果您想省略 <pre><code>i18nLocale</code></pre>,请将其分配给变量:</p> <pre><code>const locale = i18nLocale.locale </code></pre> <p>但是 <pre><code>content</code></pre> 必须是计算属性,因为当依赖项发生变化时,必须重新计算它的值(<pre><code>locale</code></pre> 和 <pre><code>item.content</code></pre>)。</p> </answer> </body></html>

回答 0 投票 0

依赖和组合之间的区别?

定义取自此处 依赖性 类的结构或行为的变化会影响其他相关类 类,那么这两个类之间存在依赖关系。它需要 不是...

回答 4 投票 0

使用相关数据正确设计微服务依赖关系

这是一个理论性很强的问题,主要集中在我没有完全掌握微服务中相关数据背后的设计原则以及获取相关数据的责任。 基础...

回答 1 投票 0

扩展类与隐式类有何不同?

我正在尝试了解子类(子类扩展父类)和隐式类(隐式类子类(a:父类))之间的区别 在这两种情况下,子实例都能够访问

回答 2 投票 0

在 Scala 中将成员函数调用与其他函数调用结合起来的惯用方法是什么?

假设我们在 Scala 中有一个对象(例如一个列表),我们想用对象成员函数对用户定义的函数进行排序,例如: g(l.map(f) .foldRight(...)) .map(h) 如果

回答 1 投票 0

如何在 Python 中创建一个(或多个)对象列表作为类的属性?

我正在尝试将组合原理应用于类之间的关系。所以我需要创建一个特定类的实例(对象)列表作为它“con ...

回答 0 投票 0

UML 类图关系和字段可见性的问题

在查看了许多信息源后,我对我的设计有几个问题。 我决定将 User 和 UserSettings 类与组合关系链接起来(因为用户设置...

回答 1 投票 0

Fetch API 与 Vue Composition API(脚本设置)

我很困惑。我想要一个简单的通用获取函数来从基础上学习它,但我想使用 Vue Composition API 和脚本设置来完成它。 这是我的脚本: 进口{参考...</desc> <question vote="0"> <p>我很困惑。我想要一个简单的通用获取函数来基本学习它,但我想用 Vue Composition API 和脚本设置来完成它。</p> <p>这是我的剧本:</p> <pre><code>&lt;script setup&gt; import {ref} from &#39;vue&#39;; const boredInfo = ref(null) function theData(url) { fetch(url) .then(response =&gt; response.json()) .then(actualData =&gt; { console.log(actualData) boredInfo.value = actualData }) .catch((e) =&gt; { console.error(&#39;Das ist der Catch Error: &#39;, e) }) return boredInfo } theData(&#39;https://www.boredapi.com/api/activity&#39;) &lt;/script&gt; </code></pre> <p>这是我的模板</p> <pre><code>&lt;template&gt; &lt;h1&gt;Lets go!&lt;/h1&gt; &lt;div&gt; &lt;h1&gt;Aktivität: {{boredInfo.activity}}&lt;/h1&gt; &lt;/div&gt; &lt;/template&gt; </code></pre> <p>我得到的错误:</p> <pre><code>ypeError: Cannot read properties of null (reading &#39;activity&#39;) </code></pre> <p>JSON我得到</p> <pre><code>{ &#34;activity&#34;: &#34;Make your own LEGO creation&#34;, &#34;type&#34;: &#34;recreational&#34;, &#34;participants&#34;: 1, &#34;price&#34;: 0, &#34;link&#34;: &#34;&#34;, &#34;key&#34;: &#34;1129748&#34;, &#34;accessibility&#34;: 0.1 } </code></pre> <p>就这么简单......在整个互联网上,我找不到脚本设置、获取 API 和显示值的解决方案。</p> <p>但最让人迷惑的是:它显示了价值!那么为什么会出现这个错误呢?</p> </question> <answer tick="false" vote="0"> <p>我想你忘记了下面的代码:</p> <pre><code>&lt;template&gt; &lt;h1&gt;Lets go!&lt;/h1&gt; &lt;div&gt; &lt;h1&gt;Aktivität: {{boredInfo.activity}}&lt;/h1&gt; &lt;/div&gt; &lt;/template&gt; </code></pre> <p>在你的api调用完成之前它已经调用了。所以...简单的解决方案是您可以在 div 或 h1 中添加 <strong>v-if</strong> 以检查变量是否已由 api 响应填充。这是主要问题,所以它可以更多样化的解决方案取决于你的。</p> </answer> <answer tick="false" vote="0"> <p>问题是您在获取完成之前访问<pre><code>boredInfo.activity</code></pre>,而<pre><code>boredInfo</code></pre>仍然只是<pre><code>ref(null)</code></pre>.</p> <p>要么用预期的结构初始化它,即</p> <pre><code>const boredInfo = ref({activity: null}) </code></pre> <p>或避免过早访问<pre><code>v-if</code></pre>,表达式中的三元,可选链接(<pre><code>?.</code></pre>)等。像:</p> <pre><code>&lt;h1 v-if=&#34;boredInfo !== null&#34;&gt;Aktivität: {{boredInfo.activity}}&lt;/h1&gt; </code></pre> <p>您可以在加载时显示加载微调器,这总是很好。</p> </answer> <answer tick="false" vote="0"> <p>我想解释为什么你会收到错误<pre><code>Cannot read properties of null (reading &#39;activity&#39;)</code></pre></p> <p>首先,您试图访问一个在安装组件时不存在的属性,<pre><code>activity</code></pre> 属性在 <pre><code>boredInfo</code></pre> 对象中不存在,因此当组件被渲染时它不会期望任何东西想要加载该属性。</p> <p>我们可以通过两种方式解决这个问题,第一种方式很简单,在<pre><code>const boredInfo = ref()</code></pre>中添加属性名称,就像这样:</p> <pre><code>const boredInfo = ref({ activity: &#39;&#39; }); </code></pre> <p>此设置将绕过错误。</p> <p>另一个选项是在数据尚未加载时添加加载,这意味着它将等待我们的<pre><code>theData</code></pre>方法解析,首先定义一个新变量来指示加载状态:</p> <pre><code>const isLoading = ref(true); </code></pre> <p>然后我们将使用 async/await 等待<pre><code>fetch</code></pre> 方法生成的承诺,然后将加载值更改为 false,因为将加载所有数据:</p> <pre><code>async function theData(url) { try { isLoading.value = true; const response = await fetch(url); const actualData = await response.json(); boredInfo.value = actualData } catch(e) { console.error(&#39;Das ist der Catch Error: &#39;, e) } finally { isLoading.value = false; } }; </code></pre> <p>然后我们用<pre><code>v-if</code></pre>配置我们的模板等待<pre><code>isLoading</code></pre>为假,显示api的返回值:</p> <pre><code>&lt;template&gt; &lt;h1&gt;Lets go!&lt;/h1&gt; &lt;div v-if=&#34;!isLoading&#34;&gt; &lt;h1&gt;Aktivität: {{ boredInfo.activity }}&lt;/h1&gt; &lt;/div&gt; &lt;/template&gt; </code></pre> <p>就是这样!</p> <p>您可以在<a href="https://sfc.vuejs.org/#eNp9UlFu2zAMvQqrHydAYmO/mVugWPcxoEfQj+rQiTpbEijaQWD4NrvJLjbKjp1uA/qTiH7ke+QjB/UcQt53qA6qjBXZwBCRu/CknW2DJ4YBCOud/JiKbY8wQk2+hUyKsq/aaVd5FxlsfPXmaN0JHlPBhqnDreAz+uYJjz9c7W/ooB3ARGj5eoAs025M2dqZeHUV1J0T0DvgM74YNpuOmi1MVUzX+QF3zbw3TYfCnVSFJoGzMGEM8kiYuRjLUCNX54nurzzppTNNklozl9L8PXq3WdLXSVbNe2nKGKEySQFv7c4CvsEciTxtshcTpXGGIxJ8S6nwPQFiwg5wO1PU1pmm+WTO2jRxHnQU5ybjFqeyM3OIh6K4XC751K0JNq98W8h/sXieiVJZzBuXXUvA2IbGMKaIy/OXp1fkCCf/UBYSJKnyaHvo97Z+1Oph7UmrCRRY0p5/TvS/f/EBhuGDWYsujOOdrxBCeZXFqq12aj67fWvCZLwc5uSCvgFRK6GeFbWSI0yxVsvQsa7SOb/H3NOpkFdOnWPbiv2x3b+Rv0QkIdZq94GjkI890p7QyVqQPuP8J/U/3mUpavwDvJ0o4A==" rel="nofollow noreferrer">这里看到现场示例</a></p> </answer> </body></html>

回答 0 投票 0

如何从提供的基类和额外提供的混合行为中创建扩展的 ES6 类构造函数?

我尝试根据这里描述的思路写了一个mixin函数用于继承。方法混入非常简单,但我正在为构造函数混入而苦苦挣扎。 我试着写一个函数,它...

回答 1 投票 0

Python 不建议可用的方法和属性

我正在学习 Python OOP 和 Composition。在这个实验中,我创建了 2 个类,第一个帐户类,它为用户维护存款、取款、信息等功能。我还创建了 Bank ...

回答 0 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.