Ember 2.0 中的 makeBoundHelper 替代方案

2023-11-30

到目前为止,我一直在使用绑定助手在我的博客文章中注入 Google DFP 广告。由于所有 Handlebars API 已在 Ember 2.0 中删除从 Ember 2.0 开始我可以使用什么?

import Ember from "ember";

export default Ember.Handlebars.makeBoundHelper(function(value, options) {

  var parsedHtml = Ember.$('<div />').html(value)

    // Push the ads after the divs have been rendered
    Ember.run.schedule('afterRender', function() {
      googletag.cmd.push(function() { googletag.display('div-gpt-ad-111111111-0'); });
    }) 
  }

  return parsedHtml.html()
});

你会使用Ember.Helper.helper syntax:

import Ember from 'ember';

const { Helper: { helper }, run: { schedule }, $ } = Ember;

export function helperName(params, hash) {
  let parsedHtml = $('<div />').html(params[0])

    // Push the ads after the divs have been rendered
   schedule('afterRender', function() {
      googletag.cmd.push(function() { googletag.display('div-gpt-ad-111111111-0'); });
    }) 
  }

  return parsedHtml.html();
}

export default helper(helperName);

Params 是您传递给模板中助手的所有值的数组,例如{{my-helper val1 val2 val3}} params[0] is val1依此类推,哈希是一个对象,包含您在助手上设置的所有属性{{my-helper val1 val2 property1=myPropValue}}你可以通过以下方式访问它hash.property1.

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

Ember 2.0 中的 makeBoundHelper 替代方案 的相关文章