我有一个Backbone应用程序。Backbone.js Uncaught ReferenceError下划线模板
的json看起来像这样,
{
"cities": [
"Kävlinge",
"Lund",
"Enskede",
"Vadstena"
]
}
我的骨干收集代码
var Cities = Backbone.Collection.extend({
url: 'configuration/city.json'
});
var Index = Backbone.View.extend({
initialize: function(){
this.cities = new Cities();
},
el: '.page',
render: function(){
var self = this;
this.cities.fetch({
success: function(cities){
console.log(cities.models[0].attributes.cities);
var template = _.template($('#city-dropdown').html(),{cities: cities.models[0].attributes});
self.$el.html(template());
}
});
}
});
var Router = Backbone.Router.extend({
routes: {
'' : 'home'
}
});
var router = new Router();
var index = new Index();
router.on('route:home',function(){
index.render();
});
Backbone.history.start();
该声明的console.log下划线模板函数打印之前我必需的JSON阵列,但在我的脚本标签,它只是Uncaught ReferenceError:城市没有定义,
是我的Json不正确,或者是我的骨干代码不正确,我很困惑。似乎很傻。请协助。
<script type="text/template" id="city-dropdown">
<select class="selectpicker">
<%= _.each(cities, alert) %>
</select>
</script>
最近更改了'_.template'的行为(请参见重复项),我怀疑您看到了操作中的更改。 – 2014-11-01 17:49:37