【发布时间】:2014-08-05 00:28:13
【问题描述】:
我的模板显示正确。
我想在每个模板上放置一个点击事件。点击功能需要使用 JSON 密钥,但我不知道如何访问。
模板:
<script id="lib-list-item-template" type="text/template">
<a href="javascript:;" class="list-group-item lib-list-item">
<div class="col-md-7">
<h4 class="list-group-item-heading"><%= library_name %></h4>
<p class="list-group-item-text"><%= street_address %></p>
<p class="list-group-item-text"><%= city %>, <%= state %> <%= zip %></p>
<p class="list-group-item-text"><%= phone_number %></p>
</div>
</div>
</a>
</script>
主干:
$(document).ready(function() {
var Library = Backbone.Model.extend({ }); var LibraryList = Backbone.Collection.extend({ model: Library, url: 'hours.json' }); var LibraryView = Backbone.View.extend({ el: '#libs', template: _.template($('#lib-list-item-template').html()), collection: libraries, events: { "click .lib-list-item": "activate", }, activate: function(event) { }, render: function(event) { _.each(this.model.models, function(library) { var libraryTemplate = this.template(library.toJSON()); $(this.el).append(libraryTemplate); }, this); return this; } }); var libraries = new LibraryList(); var librariesView = new LibraryView({model: libraries}); libraries.fetch({ dataType: 'json', success: function() { librariesView.render(); } });
在我的activate View 的点击功能中,如何访问myID JSON 键?
activate: function(event) { //I've tried <%= myID %> console.log(something); },
【问题讨论】:
-
myIDJSON 密钥是什么?你的意思是集合中每个模型的 id 吗? -
myID是hours.json中的一个键 -
在每个库对象中
-
您的 HTML 模板似乎不完整。它缺少 的开始标记。
-
@PatrickM 已修复,为了清晰起见,我删除了一些部分,但我错过了那个标签。 HTML 模板工作正常
标签: javascript json backbone.js