gpt4 book ai didi

javascript - 使用yield的Ember渲染组件

转载 作者:行者123 更新时间:2023-12-03 03:44:20 27 4
gpt4 key购买 nike

我有一个 my-component1.js 定义如下;

export default Ember.Component.extend({ 
prop1: 'abc'
})

对应的模板my-component1.hbs如下;

{{#my-yield-component2}}
{{my-other-component3 field=(my-helper prop1)}}
{{/my-yield-component2}}

所以我想在 my-yield-component2 中显示/渲染 my-other-component3 (因为我正在使用yield)

my-yield-component2内,我有以下内容;

<div>My component with yield</div>
<div>{{yield}}</div>

我的问题是如何传递/访问“prop1”,它实际上是在 my-component1 中定义的,但因为我使用的是yield,所以它将在 my-yield-component2 中呈现所以我想知道如何传递“prop1”?

最佳答案

my-component1prop1 值传递给 my-other-component3 的方式没有问题。 my-component1 模板文件中的上下文是 my-component1 本身;因此,即使 my-other-component3prop1 也会从 my-component1 传递到 my-other-component3my-yield-component2 中渲染。请看下面twiddle这说明我到目前为止所解释的内容运行顺利。

关于从 my-yield-component2my-other-component3 的值传递是另一回事;你需要yield某物。从 my-yield-component2 模板中获取,并将其传递给 my-other-component3,如下所示:

{{#my-yield-component2 as |valueToYield|}}
{{my-other-component3 field=(my-helper prop1) otherField=valueToYield}}
{{/my-yield-component2}}

我已经提供了一个有效的 twiddle我上面在 one 中解释的内容您之前的问题。

关于javascript - 使用yield的Ember渲染组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45474821/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com