来自Javascript的Web资源

问题描述 投票:0回答:1

我需要在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);
                    }
                });
handlebars.js jira-plugin webresource
1个回答
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库(类似于把手-v1.3.0.js)。

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

template: fnGetTemplate("backlog_coll");

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

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

希望这可以帮助

© www.soinside.com 2019 - 2024. All rights reserved.