2012-09-19 13 views
5

क्या पृष्ठ में पहले से ही प्रस्तुतकर्ता को एचटीएमएल के दृश्य को बाध्य करने का एक शानदार तरीका है?एचटीएमएल के लिए रीढ़ की हड्डी के दृश्य को बाध्यकारी

उदाहरण दें कि आपका सर्वर आपके सभी पेज एचटीएमएल लोड करता है, फिर आप पहली बार पृष्ठ लोड करते समय रेंडर विधि का उपयोग किये बिना उस HTML के शीर्ष पर दृश्य लोड करते हैं।

+0

वास्तव में यह सुनिश्चित नहीं है कि आप क्या पूछ रहे हैं। चूंकि जावास्क्रिप्ट क्लाइंट-साइड है, इसलिए कोई भी जेएस फ्रेमवर्क सर्वर पर भरोसा किए बिना डीओएम तत्वों को संशोधित कर सकता है (जब तक कि आप AJAX से संबंधित डेटा लोड करने के लिए सेवाओं का उपयोग नहीं कर रहे हों)। सिंगल पेज अनुप्रयोगों के पीछे यह पूरा विचार है - सर्वर एक HTML व्यू भेजता है जिसमें सभी टेम्पलेट्स शामिल हैं और जावास्क्रिप्ट दृश्य प्रस्तुत करता है और एचटीएमएल में हेरफेर करता है। क्या आप थोड़ा और विशेष रूप से वर्णन कर सकते हैं कि आप किस पर काम कर रहे हैं? – PhillipKregg

उत्तर

10

मैं मैं क्या लगता है कि तुम क्या करने की कोशिश कर रहे हैं के लिए इसी तरह कुछ किया है:

यहाँ फिडल है। मेरे मामले में, मैंने मौजूदा रूपों के शीर्ष पर बैकबोन कार्यक्षमता जोड़ा।

मौजूदा HTML:: यहाँ एक नीचे छीन उदाहरण है

<div id="my-app"> 
    <form name="input" action="html_form_action.asp" method="get"> 
    Username: <input type="text" name="user" id="username" /> 
    <input type="submit" value="Submit" /> 
    </form> 
</div> 

रीढ़:

var MyFormView = Backbone.View.extend({ 
    events: { 
    "submit form": "formHandler" 
    }, 
    formHandler: function(evt) { 
    evt.preventDefault(); 
    var nameVal = $('#username').val(); 
    this.$el.append('<p>hello: ' + nameVal + '</p>'); 
    } 
}); 

$().ready(function(){ 
    var myForm = new MyFormView({el: "#my-app"}); 
}); 

कुंजी "एल" संपत्ति है जब आप अपने दृश्य बनाने के रूप में अपने मौजूदा एचटीएमएल गुजर रहा है।

0

मुझे बिल्कुल यकीन नहीं है कि आप वर्तमान में क्या काम कर रहे हैं, लेकिन मैंने जेएसफ़िल्ड बनाया है जो केवल बैकबोन व्यूज़ का उपयोग करता है - कोई मॉडल या संग्रह या रूटर चिंता करने के लिए नहीं।

आप इसके साथ खेल सकते हैं और देख सकते हैं कि मुख्य पृष्ठ दृश्य को उसके कंटेनर में कैसे लोड किया जा रहा है। http://jsfiddle.net/phillipkregg/tVmTM/71/

1

मुझे यकीन है कि आप एक फैंसी विधि से क्या मतलब है नहीं कर रहा हूँ, लेकिन अपने विचार उनके el के लिए html खुद को प्रस्तुत करने के लिए जरूरत नहीं है। आप पेज पर किसी मौजूदा तत्व को आसानी से इसे el पर असाइन करके देख सकते हैं। यदि आप बाद में अपने व्यू के एल को असाइन करना चाहते हैं (कहें कि आप "स्विच" el "चाहते हैं तो आप setElement विधि का उपयोग कर सकते हैं। setElement का उपयोग कैश्ड $el भी बनाएगा और किसी भी बाध्य घटनाओं को स्थानांतरित करेगा।

संबंधित मुद्दे