Handlebars - 模板不断出错 - “SyntaxError:预期标识符但找到'('代替”

时间:2013-07-02 12:22:21

标签: jquery handlebars.js

在我的应用程序中,我决定使用把手,我正在使用requirejs并“shim”把手。但我一直得到一个错误:“SyntaxError:期望一个标识符,但发现'('代替' - 我不知道我做了什么错误..

requrijs:

requirejs.config({
    baseUrl: 'js',
    paths: {
        "jquery"    : 'lib/jquery-1.9.1.min',
        "underscore": "lib/underscore-min",
        "backbone"  : "lib/backbone-min",
        "handleBars": "lib/handlebars",
        "routers"   : "router/routers"
    },
    shim:{
        "underscore":{
            exports: '_'
        },
        "backbone":{
            exports: 'Backbone',
            deps:['underscore']
        },
        "handleBars":{
            exports: 'Handlebars',
            deps:['jquery', 'backbone']
        }
    }
});

require(["utils/utils","handleBars"],function (utils,handleBars) {

    var x = handleBars.compile($("#navi-template").html());
    console.log(x); //getting function
    console.log(x.({"name":"new name"})); //getting error.    
}); 

我的模板是:

<script id="navi-template" type="text/x-handlebars-template">
  <div class="subNavi">
        <ul>
            <li class="active"><a class="dashboard" href="#/general/dashBoard/">{{name}}</a></li>
        </ul>
    </div>   
</script>

任何一个人都知道,这里的错误是什么?

1 个答案:

答案 0 :(得分:1)

试试这个:

var context = {"name":"new name"}
console.log(x(context)); 

.中的x.(..)是个问题。 (.用于对象属性访问)

您可以在handlebarjs site

的示例中找到有关用法的更多信息