0
在单击相关的<a href>
并且渲染了视图之后,可以向父代<li>
-element添加类吗?我可以使用afterRender
-functionBackboneJS - 在渲染后将类添加到单击的元素
我有这样一个观点:
function (App, Backbone) {
var Alphabet = App.module();
var LetterView = Backbone.View.extend({
template: 'alphabetlist',
tagName: 'li',
serialize: function() {
return this.model.toJSON();
}
});
Alphabet.View = Backbone.View.extend({
tagName: 'ol',
className: 'alist',
initialize: function() {
this.listenTo(this.collection, 'all', this.render);
this.listenTo(this.collection, 'sync', this.onSync);
this.collection.fetch();
},
beforeRender: function() {
var self = this;
this.collection.each(function(item) {
self.insertView(new LetterView({model: item}))
})
}
});
Alphabet.AlphabetCollection = Backbone.Collection.extend({
url: 'js/json/AlphabetCollection.json'
});
return Alphabet;
}
我的JSON文件看起来像:
[
{
"name":"0-9",
"id":"1",
"url":"special"
},
{
"name":"A",
"id":"2",
"url":"a"
},
{
"name":"B",
"id":"3",
"url":"b"
},
...etc.
]
和HTML模板:
<a href="#artists/{{url}}">{{name}}</a>
我想要实现父母<li>
-element变成某种“活动“类,因此它表示已经单击了哪个字母以及哪个名称以rleevant字母开头的组列表被显示。
有人可以帮我吗?
在此先感谢...
其实这就是我预计也将工作,但因为新布局/页面被点击后(我使用layoutmanager)被渲染,这个解决方案根本没有效果! – SHT
啊。如果视图在点击锚点后重新渲染,那么您需要存储模型的“拾取”状态,以便在重新渲染时可以恢复“活动”标志。 [Backbone.picky](https://github.com/derickbailey/backbone.picky)可以帮助解决这个问题。 – bejonbee