- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Handlebars 助手来解析一组对象,我希望将返回的结果包装在 #linkTo 调用中,以便 Embers 路由器将其接收。
这是我在 View 中的调用方式:{{buildBreadcrumb my_objects}}
这是我的助手的样子:
Ember.Handlebars.registerHelper 'buildBreadcrumb', (val, opts) ->
value = Ember.get(this, val)
out = ""
value.forEach (group, index) =>
if value.length - index == 2
out += '{{#linkTo group ' + group.name + '}}'
if value.length - index == 1
out += '{{#linkTo group ' + group.name + '}}'
out
{{#linkTo ...}}
出于明显的原因,作为文字字符串。有什么方法可以让我按照我想要的方式解析它吗?我很清楚我可以在 View 本身中使用 {{#each}} 等......但由于我的用例,我不得不使用帮助器来构建它。有什么建议么?
最佳答案
您可以编写自定义 Handlebars View 助手。该 View 可以封装 #each
逻辑,而最终的助手看起来与您在这里的大部分相似。使用的唯一区别是必须将参数作为属性传递给 View 助手。
创建这个助手的方法是传入 View 类而不是助手函数。
App.BreadcrumbView = Ember.View.extend({
templateName: 'breadcrumb',
penultimate: function() {
var length = this.get('items').length;
return this.get('items')[length - 2];
}.property('items'),
last: function() {
var length = this.get('items').length;
return this.get('items')[length - 1];
}.property('items')
});
Ember.Handlebars.helper('breadcrumb', App.BreadcrumbView);
<script type='text/x-handlebars' data-template-name='breadcrumb'>
<ul class="breadcrumb">
{{#each item in view.items}}
<li>{{#linkTo 'group' item}}{{item.id}}{{/linkTo}} »
</li>
{{/each}}
</ul>
</script>
<script type='text/x-handlebars' data-template-name='breadcrumb'>
<ul class="breadcrumb">
<li>{{#linkTo 'group' view.penultimate}}{{view.penultimate.id}}{{/linkTo}} »</li>
<li>{{#linkTo 'group' view.last}}{{view.last.id}}{{/linkTo}}</li>
</ul>
</script>
关于ember.js - 在自定义 Handlebars 助手中使用 linkTo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17386954/
我有一个 TransformManyBlock并在运行时通过 LinkTo(...) 添加消费者 (ActionBlocks) . TransformManyBlock 是正确的数据流 block 来
我正在构建的这个 Emberjs 应用程序看起来全是船形,但出于某种原因,当我从“患者” View 点击 linkTo 时,Ember 会加载“患者” View ,但不会加载模型。但是,如果我在“/:
{{#linkTo "route" model title=model.title}}model.title{{/linkTo}} 这给出了结果 a标记“model.title”的标题值。我想迭代一个
在“TPL 数据流简介”中,Stephen Toub 在 LinkTo 下写道:“……如果不满足谓词,应该采取什么行为(例如,是否应该简单地删除这样的消息,是否应该拒绝这样的消息并将其提供给其他目标,
走以下路线: @resource 'settings', path: '/settings', -> @route 'alerts' 以及以下链接: {{#linkTo settings.inde
我有一个问题,当我单击我的页面 (LinkTo) 中的链接时,Ctrl + 单击,它会打开一个新选项卡,但控件会转到 chrome 中的下一个选项卡,而在 IE 中,控件停留在同一页面中。我发现 ch
嘿,不确定是否有人可以帮助我,但我已经为这个错误苦苦挣扎了很长时间: "Uncaught TypeError: Object has no method 'addArrayObserver'" 这是
有没有办法使用 link-to 动态生成链接通过传递带有路径路径的变量来帮助? 例如,不要像这样对路径进行硬编码: {{#linkTo "route.subroute" model}}{{model.
给定一个 BroadcastBlock如果缓冲区中有一条消息,是否可以防止将该消息发送到新链接的目标?例如: static void Main(string[] args) { var myB
更新应用程序包(Ember 从 rc6 到 1.0.0、handlebars 从 rc4 到 1.0.0、jquery 从 1.9.1 到 2.0.3)后,我的所有 linkTo 助手都停止工作;如果
如何在 {{#linkTo}} 帮助器上设置自定义 data- 属性?我想用这个: {{#linkTo "foo" data-toggle="dropdown"}}foo{{/linkTo}} 结果应
我正在使用 Handlebars 助手来解析一组对象,我希望将返回的结果包装在 #linkTo 调用中,以便 Embers 路由器将其接收。 这是我在 View 中的调用方式:{{buildBread
有没有办法替换触发 linkTo 和 Action 助手的默认事件? 我想响应 mousedown 而不是单击... 它是为了让界面工作得更快一点。 谢谢 最佳答案 Action 助手: 答案可以在官
我有一个博客网站,访问 url /posts 应该列出所有帖子。然后单击 /posts/:post_id 的链接应该会显示该帖子的详细信息。但是,单击链接时,linkTo 似乎没有正确传递 :post
我有一个 React Button 组件,当前有一个 prop,您可以在其中添加要链接的页面。 这工作正常,但我想添加一个名为“type”的新 Prop ,以便按钮可以链接到另一个页面(就像现在一样)
{{#each menuItem in menuItems}} {{#linkTo "dashboard.summary" menuItem}}{{menuItem
在 Handlebars 模板中使用 linkTo 帮助器时,Ember 在我添加到路由中的序列化程序的帮助下为链接设置了正确的 URL: serialize: function(slug, para
export default Ember.Component.extend({ tagName: '', actions: { checkUrl(post) { if(!E
我对 TPL 数据流这个话题还很陌生。在 C# 中的并发 一书中,我测试了以下示例。我不明白为什么没有应该是 2*2-2=2; 的输出 static void Main(string[] args)
我有一些 block 最终从 TransformBlock 转到基于 LinkTo 谓词的其他三个转换 block 之一。我正在使用 DataflowLinkOptions 传播完成。问题是,当满足谓
我是一名优秀的程序员,十分优秀!