μ λ λ·° λ΄μμ μμ±μ λ€μκ³Ό κ°μ΄ μ€μ νλ ν¬μ λλ€...
Backbone.View.extend({ μμ±: { λ°μ΄ν° μμ±: 'mydata' } });
... κ·Έλ¬λ "data-attr" ν€μ νμ΄νμΌλ‘ μΈν΄ μ€λ₯κ° λ°μν©λλ€.
μΊμΉλμ§ μλ ꡬ문 μλ¬ : μκΈ°μΉ μμ ν ν° -μ΄κ²μ΄ JavaScript ν€-κ° κ°μ²΄μμ μλͺ»λ ν ν°μ΄λΌλ κ²μ μκ³ μμ§λ§ λ°μ΄ν° μμ±μ μ λ¬νλ κ²μ΄ κ°μ₯ κ°λ₯μ± μλ μλλ¦¬μ€ μ€ νλλΌλ μ¬μ€μ κ°μν λ Backboneμ΄ μ΄μ λν λͺ κ°μ§ ν΄κ²° λ°©λ²μ μ 곡νκΈ°λ₯Ό λ°λμ΅λλ€. jQueryλ₯Ό μ¬μ©νμ¬ λ λλ§ ν¨μ λ΄μμ μμ±μ μ€μ νμ¬ μ΄ λ¬Έμ λ₯Ό ν΄κ²°νμ΅λλ€.
λ λλ§: ν¨μ() { this.$el.attr( 'data-attr', 'mydata"'); }
μ΄κ²μ μλνμ§λ§ λ€λ₯Έ μ΅μ μ΄ μλμ§ λ¬»κ³ μΆμ΅λλ€.
λ€ -- κ·Έλ₯ JavaScript κ°μ²΄μ λλ€. μΈμ© ν€λ₯Ό μ¬μ©νμμμ€.
attributes: {
"data-attr": "mydata"
}
μ, μλν μ€ μμμ΄μ! κ°μ¬ ν΄μ!
Viewμ Model λ΄μ μμ±μμ Viewμ DOM μμλ‘ λ°μ΄ν° μμ±μ μ λ¬νκΈ° μν΄ λ¬΄μμ μ μν©λκΉ? λ§κ·Έλλ‘...
μμ±: { "λ°μ΄ν° μμ±": this.model.foo }
λλ "μ΄κ²"μ λν μΈκΈ λ²μλ₯Ό μμ΄ κ°κ³ μμ΅λλ€.
μ‘νμ§ μμ TypeError: μ μλμ§ μμ 'λͺ¨λΈ' μμ±μ μ½μ μ μμ΅λλ€.
λ€μκ³Ό κ°μ κΈ°λ₯μ μ¬μ©ν μ μμ΅λλ€.
attributes: function() {
return {
'data-attr': this.model.foo
};
}
μμ²λ. μλ²½νκ² μλν©λλ€. μ μν λ΅λ³ κ°μ¬ν©λλ€!
νμν©λλ€. νμ§λ§ μμΌλ‘λ μ΄μ κ°μ κΈ°μ μ§μμ μν΄ λ²κ·Έ ν°μΌμ μ¬μ©νμ§ λ§μμμ€. λ¨Όμ IRC μ±λμ΄λ λ©μΌλ§ 리μ€νΈλ₯Ό μ¬μ©ν΄ 보μμμ€.
λ€νμ΄λ€. λ¨Όμ μλνμ§λ§ DocumentCloud IRCμ μλ΅νμ§ μλ Turjakas μ¬μ©μκ° ν λͺ λΏμ λλ€.
μλͺ» μ λ ₯ν΄μΌ ν©λλ€. νμ¬ freenodeμ #documentcloudμ 242λͺ μ μ¬μ©μκ° μμ΅λλ€.
κ°μ₯ μ μ©ν λκΈ
λ€μκ³Ό κ°μ κΈ°λ₯μ μ¬μ©ν μ μμ΅λλ€.