如何在模板中按名称动态加载 ember 组件?

2023-12-08

我的问题基本上与上相同这个答案,但我无法让代码与 ember 1.7.0 和 & ember-cli 一起使用。

我有一个widget我的模型中的属性,以及我的模板中的属性,我希望有类似的内容:

{{#each question in questions}}
{{#with question}}
  <label>{{title}}</label>
  {{render-component widget params=params}}
{{/with}}
{{/each}}

问题模型如下所示:

{ id: 6,
  title: "Is this a yes/no situation?",
  help_text: 'Pick an option',
  widget: 'yes-no',
  params:
  {
    yes: {
      text: 'You picked yes',
      class: 'success'
    },
    no: {
      text: 'Be careful, you picked no',
      class: 'danger'
    }
  }
}

我创建了一个render-component包含以下内容的帮助程序:

import Ember from 'ember';

function renderComponent(componentPath, options) {
  console.log('inside helper with comp=' + componentPath + ', opts=' + options);
  var component = Ember.Handlebars.get(this, componentPath, options);
  var helper = Ember.Handlebars.resolveHelper(options.data.view.container, component);
  return helper.call(this, options);
}

export {
  renderComponent
};

export default Ember.Handlebars.makeBoundHelper(renderComponent);

但这行不通。component未定义。 API 文档为Ember.Handlebars.get对于解释什么没有太大帮助options参数是.另外,没有提到resolveHelper现在文档中的方法,所以我不知道代码是否已经过时。

如何从变量中按名称加载组件?


这个问题已经过时了。 Ember 包括一个内置动态组件助手并且已经有很长一段时间了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在模板中按名称动态加载 ember 组件? 的相关文章

随机推荐

  • Gradle 3.0.0 alpha 变体输出问题

    我想要有一个不一样的versionCode for debug构建类型而不是其中的类型release构建类型 这曾经通过在 Gradle Android 插件 v2 3 2 Gradle v3 3 中使用下面的配置来工作 但现在在 v3 0
  • SQL 到实体框架计数分组

    我需要翻译这个SQL声明给一个Linq Entity询问 SELECT name count name FROM people GROUP by name 查询语法 var query from p in context People gr
  • Karate API 测试 - 在同一功能文件中的不同场景中重用变量

    Karate 是否支持这样的功能 您可以在场景中定义变量并在同一功能文件的其他场景中重用它 我尝试做同样的事情但得到一个错误 在同一特征文件中重用变量的最佳方法是什么 Scenario Get the request Id url base
  • 如何获取插入计算机的可移动驱动器的列表?

    我想获取插入计算机的可移动驱动程序的列表 我怎样才能做到这一点pywin32Python 中的模块 注意 重要的是我能够将可移动驱动器与固定驱动器分开 该算法很简单 Call MS Docs GetGetLogicalDriveString
  • WP8 SDK 导入服务参考无法进行基于任务的操作

    到目前为止 在 VS2012 中使用 生成基于任务的操作 导入服务引用似乎不起作用 它变灰了 对 WPF 新项目的测试运行良好 我可以选择基于任务的操作或异步操作 有没有一种简单的方法可以将异步调用包装在任务中 有没有一种简单的方法可以将异
  • 如何更改 Google 静态地图中的视角?

    是否可以更改 google 静态地图中的视角 就像在 Google 地图 API 中如何更改一样 这里检查 setTilt 函数 https developers google com maps documentation javascri
  • 即使应用程序终止,iOS 也会更新位置

    即使应用程序终止 我也尝试更新用户位置 我向我的 plist 添加了地图和后台模式 gt 位置更新 并设置了一个本地通知 该通知将在位置更新时触发 但它从未被解雇 我有这个AppDelegate h interface AppDelegat
  • 使用 DeviceLifecycleEvents 源的 IoT 中心消息路由不起作用

    我已经在使用 IoT 中心并配置了消息路由来路由TwinChangeEvents到事件中心 一个 Azure 函数EventHubTrigger处理消息 这工作得很好 现在 我想配置消息路由来路由DeviceLifecycleEvents到
  • Bootstrap 抛出未捕获错误:Bootstrap 的 JavaScript 需要 jQuery [关闭]

    Closed 这个问题需要调试细节 目前不接受答案 我正在尝试使用 Bootstrap 为程序制作界面 我将 jQuery 1 11 0 添加到标记并认为就是这样 但是当我在浏览器中启动网页时 jQuery 报告错误 Uncaught Er
  • $( "

    选择器有什么作用 div div 这段代码中的语法是什么意思 我见过像这样的选择器div or someId但我很困惑什么 div div means function log message div div text message pr
  • Cakephp 覆盖 HtmlHelper::link

    我想设置 HtmlHelper link 方法 以便默认选项数组具有 escape false 如何在不改变核心类的情况下实现这一目标 OBS 我已经清理了表单输入 所以我想这不会有问题 提前致谢 蛋糕2 1 5 我刚刚实现了这个 我想指出
  • 使用 f2py 将 numpy 字符串格式数组传递给 fortran

    我的目标是从 fortran 中的 python numpy 数组打印第二个字符串 但我只打印第一个字符 而且它也不一定是正确的字符串 谁能告诉我将完整字符串数组传递给 Fortran 的正确方法是什么 代码如下 测试py import n
  • 在tasklet中退出Spring Batch作业

    我有一个 Spring Batch tasklet 但我不知道如何从它失败 我想检查某些参数 如果它们不存在 则该步骤的作业失败 Component public class Tfp211SetupTasklet extends Abstr
  • 如何在图像上使用边框半径制作插入边框

    How do to an inset border with a border radius on an image like so 我可以使用大纲 CSS 属性 img border radius 16px outline 3px sol
  • 我用的是Lua 5.1。我想解析以下模式的 XML 文件。我该怎么办?

    我尝试使用 LuaXml 库 但它的功能是有限的 因为它只返回特定属性的第一个子表 并且不会比这更进一步 然后我尝试了字符串模式匹配 它有效 但我陷入了死胡同 它无法完全完成任务 LuaExpat 库存在于我的 lua 的 lib 文件夹中
  • 检查字符串是否为数字的最快方法是什么?

    检查 2 4393 或 2 等字符串是否有效的最快方法是什么 它们都可以用双精度数表示 而字符串 2 343 或 ab 34 不是吗 特别是 我希望能够读取任何字符串 如果它can是一个双精度型 为其分配一个双精度变量 如果它不能是一个双精
  • 拆分 git 存储库

    我目前有一个 git 存储库 是我不久前从 svn name school 导入的 在这个学校存储库中 我的每个班级都有一个文件夹 我似乎无法在不丢失该类的整个历史记录的情况下获取这个存储库并将其拆分为每个类的存储库 而我不想这样做 建议
  • java.security.AccessControlException:文件可通过浏览器访问,但不能在同一服务器内访问

    因此 为了避免过多重复 请参阅与 java google endpoint api 一起提供静态图像 正如您从引用的链接中看到的 我可以通过 url 查看图像 但是 当我尝试使用类似的代码读取文件名时 public void listFil
  • 更改多个列名称,但不是全部 - Pandas Python

    我想知道是否有一个功能可以更改特定列名称 但无需选择特定名称或无需更改所有列名称 我有代码 df df rename columns nameofacolumn newname 但有了它 我必须手动更改每个人写的每个名字 还要改变我所有的
  • 如何在模板中按名称动态加载 ember 组件?

    我的问题基本上与上相同这个答案 但我无法让代码与 ember 1 7 0 和 ember cli 一起使用 我有一个widget我的模型中的属性 以及我的模板中的属性 我希望有类似的内容 each question in questions