获取控制器中ember组件的值

33qvvth1  于 2022-11-23  发布在  其他
关注(0)|答案(1)|浏览(141)

假设我有一个名为X的自定义组件。

<X>my value</X>

我现在想访问X控制器中的“我的值”。我该怎么做呢?

muk1a3rh

muk1a3rh1#

组件无权访问该内容。
<X>组件在您的示例中以块形式使用。支持块形式的组件将执行上下文返回给调用方。它在其模板中用{{yield}}关键字标记的位置执行此操作。此时,执行将返回给调用方。组件对在该位置运行的代码没有任何访问权限。
这类似于回调的概念:

  • 您可以使用{{has-block}}帮助器来检测调用方是否使用了块形式。这类似于您可以在函数中检测是否提供了回调。
  • 您可以在关键字'{{yield}}上使用位置参数将上下文传递给生成的块。这类似于执行带有参数的回调。
  • 通过在模板中使用silbings,可以在yield slot之前和之后呈现DOM。这类似于在回调执行之前和之后执行代码。
  • 您可以将yield块 Package 在DOM中,这类似于将回调传递给另一个函数,然后执行该函数。
  • 但是您不能检查或改变调用方设置为块内容的内容。

该特性有助于分离关注点,并在组件之间建立清晰的边界。如果你将其视为一种限制,那么很可能是你的应用程序中不同组件之间的边界不够清晰。

相关问题