如何一次加载多个车把模板?

时间:2018-02-15 20:16:23

标签: javascript loops handlebars.js

我已经设置了此页面,用于将不同的把手模板附加到页面的不同部分。

var source1 = document.getElementById("pref-color-template").innerHTML;
                    var template1 = Handlebars.compile(source1);
                    var output1 = template1(colorData);
                    document.getElementById("pref-color").innerHTML = output1;

                    var source2 = document.getElementById("pref-red-template").innerHTML;
                    var template2 = Handlebars.compile(source2);
                    var output2 = template2(colorData);
                    document.getElementById("pref-red").innerHTML = output2;

                    var source3 = document.getElementById("pref-white-template").innerHTML;
                    var template3 = Handlebars.compile(source3);
                    var output3 = template3(colorData);
                    document.getElementById("pref-white").innerHTML = output3;

                    var source4 = document.getElementById("pref-country-template").innerHTML;
                    var template4 = Handlebars.compile(source4);
                    var output4 = template4(colorData);
                    document.getElementById("pref-country").innerHTML = output4;

                    var source5 = document.getElementById("pref-style-template").innerHTML;
                    var template5 = Handlebars.compile(source5);
                    var output5 = template5(colorData);
                    document.getElementById("pref-style").innerHTML = output5;

我想也许有更有效的方式来写这个,比如循环?有什么想法吗?

1 个答案:

答案 0 :(得分:0)

public class Profiles : Profile
{
    private readonly IHttpContextAccessor _httpContextAccessor;

    public Profiles(IHttpContextAccessor httpContextAccessor)
    {
        _httpContextAccessor = httpContextAccessor;

        CreateMap<Models.User.EnrollSkill, UserSkill>()
            .AfterMap((src, dest) =>
            {
                dest.UserId = IdentityHelper.GetClaimValue(_httpContextAccessor, IdentityHelper.Claims.Id);
            });

    }
}

简单示例,但实质上,您希望存储模板的映射 - &gt;目标在一个对象数组中。我将实际的编译抽象为一个函数,但是compileTemplate的内容很可能直接在for循环中。

这样,只要你改变处理方式(添加不同的逻辑)或修改数据,就会发生在所有模板实例中。