Javascript Mustache.js-不呈现JSON项

Javascript Mustache.js-不呈现JSON项,javascript,html,angularjs,json,mustache,Javascript,Html,Angularjs,Json,Mustache,这是我第一次看到mustache.js,希望能在更大的项目中使用它 我的问题是,我计划在更大的项目上使用的电子表格JSON输出没有数组的名称。因此,根据我在Lynda.com上的教程,理想情况下,我的数组数据将被称为“水果”,但正如您从下面的JSON数据中看到的,它输出时没有数组的名称,只有[] 如果没有可用于输出模板的数组名称,如何在mustache.js中呈现我的数据集 胡子模板 水果/h1> {{{水果} {{/水果} 版权和副本;2017年 $(函数(){ $.getJSO

这是我第一次看到mustache.js,希望能在更大的项目中使用它

我的问题是,我计划在更大的项目上使用的电子表格JSON输出没有数组的名称。因此,根据我在Lynda.com上的教程,理想情况下,我的数组数据将被称为“水果”,但正如您从下面的JSON数据中看到的,它输出时没有数组的名称,只有[]

如果没有可用于输出模板的数组名称,如何在mustache.js中呈现我的数据集


胡子模板
水果/h1> {{{水果} {{/水果}

版权和副本;2017年

$(函数(){ $.getJSON('https://api.myjson.com/bins/czrxt,函数(数据){ var template=$('#fruittpl').html(); var html=Mustache.to_html(模板,{fruits:data}); $('fruitfeed').html(html); });//获取JSON }); //功能
我发现您的代码中有三个问题:

  • 模板中的href应为href=“{{{wiki}}”。请注意 3个花括号可防止前斜杠和其他特殊情况 URL中的字符不会被编码(例如“/”->%2f”)
  • 模板中的src参数应为src=“{{{image}}”
  • 如前所述,将{fruits:data}作为第二个参数传递给 Mustache.to_html函数
  • 经修订的守则是:

    <head>
    
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta name="description" content="">
    <meta name="author" content="">
    
    <title>Mustache Template</title>
    
    <!-- Bootstrap core CSS -->
    <link href="vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
    
    <!-- Custom styles for this template -->
    <link href="css/thumbnail-gallery.css" rel="stylesheet">
    
    
    胡子模板
    

    
    
    水果/h1> {{{水果} {{/水果}

    版权和副本;2017年

    $(函数(){ $.getJSON('https://api.myjson.com/bins/czrxt,函数(数据){ var template=$('#fruittpl').html(); var html=Mustache.to_html(模板,{fruits:data}); $('fruitfeed').html(html); });//获取JSON }); //功能


    只需发送
    {fruits:data}
    然后..->
    var html=Mustache.to_html(模板,{fruits:data})好的,我已经编辑了上面的代码。我是在getJSON之后发送{fruits:data}还是在模板{{{#fruits:data}等中发送{fruits:data}呢?现在不是在getJSON上工作,太好了。谢谢3个花括号导致图像无法渲染,但2个括号可以
    
    <head>
    
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta name="description" content="">
    <meta name="author" content="">
    
    <title>Mustache Template</title>
    
    <!-- Bootstrap core CSS -->
    <link href="vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
    
    <!-- Custom styles for this template -->
    <link href="css/thumbnail-gallery.css" rel="stylesheet">
    
    <!-- Navigation -->
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top">
    <div class="container">
        <a class="navbar-brand" href=""></a>
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse" id="navbarResponsive">
        <ul class="navbar-nav ml-auto">
            <!--
            <li class="nav-item active">
            <a class="nav-link" href="#">Home
                <span class="sr-only">(current)</span>
            </a>
            </li>
            <li class="nav-item">
            <a class="nav-link" href="#">About</a>
            </li>
            <li class="nav-item">
            <a class="nav-link" href="#">Services</a>
            </li>
            <li class="nav-item">
            <a class="nav-link" href="#">Contact</a>
            </li>
            -->
        </ul>
        </div>
    </div>
    </nav>
    
    <!-- Page Content -->
    <div class="container">
    
    <h1 class="my-4 text-center text-lg-left">Fruits/h1>
    
    <div id="fruitfeed" class="row text-center text-lg-left"></div>
    
        <script id="fruittpl" type="text/template">
        {{#fruits}}
        <div class="col-lg-3 col-md-4 col-xs-6">
        <a href="{{wiki}}" class="d-block mb-4 h-100">
            <img class="img-fluid img-thumbnail" src="{{image}}" alt="">
        </a>
        </div>
        {{/fruits}}
        </script>
    
    </div>
    <!-- /.container -->
    
    <!-- Footer -->
    <footer class="py-5 bg-dark">
    <div class="container">
        <p class="m-0 text-center text-white">Copyright &copy; 2017</p>
    </div>
    <!-- /.container -->
    </footer>
    
    <!-- Bootstrap core Javascript -->
    <script src="vendor/jquery/jquery.min.js"></script>
    <script src="vendor/popper/popper.min.js"></script>
    <script src="vendor/bootstrap/js/bootstrap.min.js"></script>
    
    <!-- Mustache.js -->
    <!--<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>-->
    <script src="//cdnjs.cloudflare.com/ajax/libs/jquery.cycle/2.9999.8/jquery.cycle.all.min.js"></script>
    <script src="//cdnjs.cloudflare.com/ajax/libs/mustache.js/0.7.0/mustache.min.js"></script>
    
    
    <script type="text/javascript">
        $(function() {
    
            $.getJSON('https://api.myjson.com/bins/czrxt', function(data) {
    
            var template = $('#fruittpl').html();
            var html = Mustache.to_html(template, {fruits:data});
            $('#fruitfeed').html(html);
    
            }); //getJSON
        }); //function
    </script>