单击链接后车把在生产中不起作用 [英] handlebars not working in production after link click

查看:89
本文介绍了单击链接后车把在生产中不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用车把,并且在开发中工作正常.当我上传到github-pages时,如果我直接打开页面,则handlebars模板仍然有效.但是,如果我转到链接中的页面,则把手环不起作用.这是我的代码:

I am using handlebars and it is working fine in development. When I upload to github-pages, The handlebars template still works if i open directly to the page. But if I go to a page in a link, the handlebars loop doesn't work. Here is my code:

<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
    <script src="../bower_components/handlebars/handlebars.min.js"></script>
</head>
<div id="content-placeholder"></div> 
<script id="some-template" type="text/x-handlebars-template">
  {{#each this}}
    <div class=" col-md-4 col-sm-6 " data-animation-type="fadeIn" data-animation-delay="0.5s" data-animation-duration="2s">
       <div class="item-wrap">
          <figure class="">
             <div class="popup-call">
                <a href="assets/custom/images/blog/01.jpg" class="gallery-item"><i class="flaticon-arrows-4"></i></a>
             </div>
             <img src="{{this.picture.picture.url}}" class="img-responsive" style="height: 200px" alt="img11"/>
             <figcaption>
                <div class="post-header">
                   <h5><a href="blogpost.html">{{this.name}}</a></h5>
                </div>

             </figcaption>
          </figure>
       </div>
    </div>
  {{/each}}
</script>
<script>
    $(document).ready(function(){
      var source   = $("#some-template").html();
      var template = Handlebars.compile(source);
      $.getJSON('https://my-url.com/teams.json', function(data){
        console.log(data);
        $("#content-placeholder").html(template(data));
      });
    });

</script>

我尝试在没有document.ready()的情况下执行此操作,但这并没有任何改变.

I've tried doing it without the document.ready() but that doesn't change anything.

推荐答案

很明显,由于script标记中的相对路径,没有加载handlebars.js:

It's fairly clear that the handlebars.js isn't loading, because of the relative path in the script tag:

 <script src="../bower_components/handlebars/handlebars.min.js"></script>

用您喜欢的CDN位置替换src =":

Replace src="" with your favorite CDN location:

例如

<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.6/handlebars.min.js"></script>

这篇关于单击链接后车把在生产中不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆