Về cơ bản những gì tôi cần là để làm một cái gì đó như thế nàyLàm cách nào tôi có thể đặt động một className cho chế độ xem Backbone.js dựa trên các thuộc tính mô hình của nó?
App.CommentView = Backbone.View.extend({
className: function() {
if (this.model.get('parent_id')) {
return 'comment comment-reply';
} else {
return 'comment';
}
},
Vấn đề là, rằng vào hàm được chuyển vào className
được thực hiện trong bối cảnh của html của xem mẫu, vì vậy tôi không thể gọi this.model
.
Có cách nào để tôi có thể truy cập vào mô hình tại thời điểm này trong quá trình kết xuất không? Hoặc tôi có cần phải đặt lớp sau, ví dụ như trong hàm render
?
Nope, đó là không đúng sự thật. Chức năng "thuộc tính" được triển khai ở phương thức _ensureElement(), và tại thời điểm đó bạn không có quyền truy cập vào this.model –