来自Javascript的Web资源

时间:2014-06-20 12:01:57

标签: handlebars.js jira-plugin webresource

我需要在Javascript中获取把手模板。 所以我在tpl文件夹中创建了模板文件并在ML中写了这样的行:

<resource type="download" name="tpl/" location="/tpl"/>

如果我把一些图像放到这个文件夹中,我可以从CSS中获取它:

.css
 {
background: url(tpl/image.png);
}

如果我想从js AJS.$("css").css("background", "url(tpl/image.png)")获取此图像我有错误 - 找不到文件;

图像文件是例如..在实际中我需要获取模板

 AJS.$.ajax({
                    url: "tpl/backlog_coll.handlebars",
                    cache: true,
                    success: function(data) {
                        source    = data;
                        template  = Handlebars.compile(source);
                        $('#backlog_coll').html(template);
                    }
                });

1 个答案:

答案 0 :(得分:0)

这是我将如何做到的

我将在一个通常可访问的js文件中编写一个函数(现在我们称之为Global.js),如下所示

GLOBAL.JS

function fnGetTemplate(strName) {
if (Handlebars.templates === undefined || Handlebars.templates[strName] === undefined) {
$.ajax({
   url : "tpl" + strName + ".handlebars",
   success : function(data) {
       if (Handlebars.templates === undefined) {
           Handlebars.templates = {};
       }
       Handlebars.templates[strName] = Handlebars.compile(data);
   },
   async : false
 });
}
return Handlebars.templates[strName];
}

这是假设我有适当提到的把手js库(类似于handlebars-v1.3.0.js)。

然后在我需要显示模板的View中,我将声明模板如下所示

template: fnGetTemplate("backlog_coll");

在我的视图的渲染功能中,我将此模板称为提供所需数据,如下所示

render: function() {
    this.$el.html(this.template(data));
}

希望这有帮助