簡體   English   中英

獲取控制器中 Ember 組件的值

[英]Get the value of an Ember Component in the controller

假設我有一個名為 X 的自定義組件。

<X>my value</X>

我現在想訪問 X 控制器中的“我的價值”。我該怎么做?

組件無權訪問該內容。

<X>組件在您的示例中以塊形式使用。 支持塊形式的組件將執行上下文返回給調用者。 它在模板中標有{{yield}}關鍵字的地方執行此操作。 此時,執行將返回給調用者。 該組件無法訪問在該插槽中運行的代碼。

這類似於回調的概念:

  • 您可以通過使用{{has-block}}助手來檢測調用者是否使用塊形式。 這與您可以在函數中檢測是否提供回調類似。
  • 您可以使用 `{{yield}} 關鍵字上的位置參數將上下文傳遞給生成的塊。 這類似於執行帶參數傳入的回調。
  • 您可以通過在模板中使用 silbings 在 yield 槽之前和之后渲染 DOM。 這類似於在執行回調之前和之后執行代碼。
  • 您可以將 yield 塊包裝在 DOM 中。 這類似於將回調傳遞給另一個執行的函數。
  • 但是你不能檢查或改變調用者設置的塊內容。

該功能有助於分離關注點並在組件之間建立清晰的界限。 如果您將其視為一種限制,則很可能是您的應用程序中不同組件之間的界限不夠清晰。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM