Javascript 车把模板和动态图像

Javascript 车把模板和动态图像,javascript,templates,handlebars.js,Javascript,Templates,Handlebars.js,在我的模板中,我做了一些类似于 <img class="someClass" src="{{imgURL}}"> 有没有办法解决这个问题?您有两个问题: 您的 然后你可以说handlebar.compile($('#t').html())来获取编译后的模板,浏览器不会试图将#t内容解释为html。我知道已经很晚了,但下面是你想要的方法: <script id="t" type="text/x-handlebars-template"> <img clas

在我的模板中,我做了一些类似于

<img class="someClass" src="{{imgURL}}">
有没有办法解决这个问题?

您有两个问题:

  • 您的
    
    

    然后你可以说
    handlebar.compile($('#t').html())
    来获取编译后的模板,浏览器不会试图将
    #t
    内容解释为html。

    我知道已经很晚了,但下面是你想要的方法:

    <script id="t" type="text/x-handlebars-template">
        <img class="someClass" src="{{imgURL}}">
    </script>
    
    var view=Ember.view.create({templateName:'myTemplate',myPicture:'http://url_of_my_picture.png'});
    视图.appendTo(“#myDiv”);
    
    我发现使用三方括号很好

    var view = Ember.View.create({templateName: 'myTemplate', myPicture: 'http://url_of_my_picture.png'});
    
    view.appendTo('#myDiv');
    
    <script type="text/x-handlebars" data-template-name="myTemplate">
        <img {{bindAttr src="myPicture"}}>
    </script>
    
    
    
    没有一个答案对我有用。我通过将图像转换为base64并将其作为img src发送到Handlebar模板中来实现它

    模板.hbs

    <img src="{{{your source}}}" alt={{{your alt}}} />
    

    模板是否在被模板引擎解析之前附加到页面?如果是这样的话,我看不到任何解决办法。我不相信。我正在进行一个ajax调用,它获取我的外部把手模板。我缓存了这些模板,之后我有了一个函数,该函数获取json数据并找到合适的模板用作源,然后编译源代码并将json数据传递给编译后的模板。这种方法是否会引起这些警告?那就奇怪了。好的,当您使用源创建图像元素时,浏览器将发出一个请求以尝试缓存它。如果模板被解析为字符串,那么就被解析为不应该发生的DOM元素。但无论如何,你可以忽略这种警告,它只是通知你没有找到请求的文件(就在你交换源代码并再次加载之前),普通最终用户在浏览你的网站时没有打开他们的控制台<代码>=]
    谢谢这修复了我的警告。这个问题是在2012年提出的,5年多以前。您确定这个新答案适用于2012版的handebars.js吗?
    var view = Ember.View.create({templateName: 'myTemplate', myPicture: 'http://url_of_my_picture.png'});
    
    view.appendTo('#myDiv');
    
    <script type="text/x-handlebars" data-template-name="myTemplate">
        <img {{bindAttr src="myPicture"}}>
    </script>
    
    <img src="{{{your source}}}" alt={{{your alt}}} />
    
    {{#if img_src}}
        <img src="{{{img_src}}}" alt=""/>
    {{/if}}
    
    data = {
             img_src: base64img.base64Sync('./assets/img/test.png');
           }