我使用ember.js
v1.13.0
并拥有模板助手
import Ember from 'ember';
export default Ember.Handlebars.makeBoundHelper(function(data, recordType, options) {
data = data || '';
if (recordType == 12) {
//not escaped
escaped = data + "<a href=\"#\">it's some extra button</a>";
} else {
var escaped = Handlebars.Utils.escapeExpression(data);
var matchURLs = /\b((?:https?:\/\/|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/gi;
var replaceURL = function (str) {
return "<a target=\"_blank\" href='" + (str.indexOf("://") === -1 ? "http://" : "") + str + "'>" + str + "</a>";
}
escaped = escaped.replace(matchURLs, replaceURL);
}
//nl2br
escaped = escaped.replace(/\n/g, "<br />");
return new Handlebars.SafeString(escaped);
});
我的目标是如果帮助者获得具有指定类型的记录,它将向记录文本的末尾添加按钮。但是当点击按钮时,它需要在我的控制器中调用一些动作。
我想在我的助手添加按钮时调用模板的action
助手。
或许你可以建议另一个方法来添加新的按钮,在渲染过程中调用控制器中的动作。