在我的应用程序中,我决定使用把手,我正在使用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>
任何一个人都知道,这里的错误是什么?
答案 0 :(得分:1)
试试这个:
var context = {"name":"new name"}
console.log(x(context));
.
中的x.(..)
是个问题。 (.
用于对象属性访问)
您可以在handlebarjs site
的示例中找到有关用法的更多信息