Tôi vừa nhận ra mình đã hiểu sai thuộc tính el
của một Backbone.View
. Về cơ bản, chế độ xem của tôi yêu cầu thuộc tính động id
dựa trên thuộc tính của mô hình. Tôi nghĩ tôi đã có điều này làm việc tốt bởi vì tôi chỉ đơn giản là quy định nó trong mẫu của tôi:chế độ xem xương sống với id động
<script type="text/template" id="item_template">
<li class="item" id="{{identifier}}">
<span class="name">{{name}}</span>
</li>
</script>
Tuy nhiên, tôi nhận ra rằng những gì Backbone đã thực sự làm được việc đưa mẫu biên soạn này vào yếu tố khác, div
theo mặc định. Tôi đã tìm hiểu thêm về điều này bằng cách đọc tài liệu, nhưng tôi vẫn còn bối rối về cách tạo ra một động id
.
Tốt nhất là tôi thích tìm cách để làm cho nó như vậy mà các công cụ trong mẫu trên đóng vai trò là el
của tôi, vì nó đã có mọi thứ tôi muốn, nhưng tôi không biết nếu điều đó là có thể. Vì vậy, tôi tự hỏi nếu, khá đơn giản, có một cách để xác định một thuộc tính động id
.
Tôi đã thử đặt nó trong phương thức initialize
, this.id = this.model.get('attr')
nhưng dường như không có bất kỳ ảnh hưởng nào, có thể do thời gian này đã quá muộn.
gì Tôi hiện đang làm chỉ là sử dụng jQuery để thêm id
trong suốt render()
:
this.el.attr(id: this.model.get('identifier'));
nó hoạt động, nhưng dĩ nhiên, tôi chỉ hỏi nếu có một cách ưa thích để làm điều đó thông qua Backbone.
Cảm ơn một lần nữa maxl0rd (đã giúp tôi về câu hỏi khác: D). Điều này thực sự có vẻ như nó sẽ làm việc: D Tôi sẽ thử nó và trở lại để đánh dấu là chính xác :) –
cho những người không biết, tagName mặc định là div nếu không được chỉ định. tôi sẽ thấy một số lượng lớn mẫu có vùng chứa [biểu mẫu, div, v.v ...với id] và điều đó thực sự phải là một phần của chế độ xem chứ không phải là mẫu thường. như được hiển thị trong câu trả lời của maxl0rd – PDA