2013-03-21 11 views
5

डालने वाला नहीं है वर्तमान में मैं <tr> टेम्पलेट को <tbody> टैग में एक तालिका पंक्ति प्रसारित करने का प्रयास कर रहा हूं।डुरंडल/नॉकआउट टेम्पलेट बाध्यकारी

एचटीएमएल:

<table> 
    <tbody data-bind="template: { name : 'tableTemplate', foreach : tableRow }"> 
    </tbody> 
</table> 
<script type="text/html" id="tableTemplate"> 
    <tr> 
     <!-- First Name --> 
     <td data-bind="text: firstName"></td> 
     <!-- Last Name --> 
     <td data-bind="text: lastName"></td> 
    </tr>       
</script> 

DurandalJS: यहाँ एक उदाहरण है

define(function(require) { 
    var self = this; 
    self.app = require('durandal/app'); 

    return { 
     tableRow: ko.observableArray([ 
      { firstName: "DemoFirstName" , lastName: "ExampleLastName" }, 
      { firstName: "ExampleFirstName", lastName: "DemoLastName" } 
     ]); 

    //viewAttached and other non-applicable console log functions here 
    }; 
}); 

HTML में सब कुछ होगा ठीक से डेटा-बाँध जब तक यह तालिका हिट; सभी डेटा-बाइंड बाद में मृत हो जाते हैं।

मैं दुरंदल के लिए नया हूं, और जैसे ही मैं जाता हूं सीख रहा हूं।

+0

क्या आपके ब्राउज़र के जावास्क्रिप्ट कंसोल में कोई त्रुटि है? – nemesv

+0

क्या आप अपना पूरा कोड पोस्ट कर सकते हैं। जो आपने यहां दिखाया है वह काम करना चाहिए। इसके अलावा, आप इस पर ऐप क्यों लगा रहे हैं? बस एक नया चर बनाएँ। –

+0

अपडेट: आपने दोनों के बारे में क्या कहा, मैंने कोड में कहीं और ध्यान से जांच शुरू कर दी जो समस्याएं पैदा कर सकती है। मॉडेल के डोम के निचले भाग के पास घोंसले वाले पिछले लेखक से पुराना डेटा-बाइंड था जो एक कंसोल त्रुटि उत्पन्न कर रहा था कि डेटा बाइंड मर चुका है/कुछ भी नहीं जाता है (मैंने इसे पहले क्यों नहीं देखा? , आप रहते हैं और आप सीखते है)। एक बार जब मैंने टिप्पणी की, तो मुझे एक कंसोल त्रुटि मिलनी शुरू हुई जिसमें कहा गया कि 'आईडी तालिका टेम्पलेट के साथ टेम्पलेट नहीं मिल रहा है'। मैं जांच जारी रखूंगा। – Arctic

उत्तर

2

टेम्पलेट दृष्टिकोण के बजाय इस करके देख सकते हैं:

<table> 
    <tbody data-bind="foreach: tableRow"> 
    <tr> 
     <!-- First Name --> 
     <td data-bind="text: firstName"></td> 
     <!-- Last Name --> 
     <td data-bind="text: lastName"></td> 
    </tr>       
    </tbody> 
</table> 
+0

मुझे काम करने के लिए टेम्पलेट दृष्टिकोण नहीं मिल रहा है, लेकिन आपका विकल्प करता है। धन्यवाद! अपनी पोस्ट को एक अच्छी तरह से योग्य +1 दिया। हालांकि, मेरी इच्छा है कि मुझे पता था कि भविष्य में ऐसी स्थिति होने पर टेम्पलेट दृष्टिकोण क्यों काम नहीं कर रहा है जहां मुझे वास्तव में इसका उपयोग करने की आवश्यकता होगी। – Arctic

+0

यकीन नहीं है, लेकिन मुझे लगता है कि आपके द्वारा दिखाया गया टेम्पलेट मार्कअप एक डुरंडल मॉड्यूल में है, और शायद 'टेम्पलेट' बाध्यकारी टेम्पलेट्स को सीधे नॉकआउट ऐप के तरीके से नहीं ढूंढता है। आप इसे डोरंडल के बिना नॉकआउट नमूने में देखने की कोशिश कर सकते हैं। – 7zark7

+0

हाँ, यह एक डुरंडल मॉड्यूल में है, और नॉकआउट दस्तावेज का एक अच्छा हिस्सा और उदाहरण केवल सरलीकृत सीधे-अप केओ व्यू मॉडल के साथ काम करते हैं। दुर्भाग्य से, डुरंडल में उतने दस्तावेज नहीं हैं और इन जैसे सामान्य कार्यों के लिए प्रश्न पूछे गए हैं। – Arctic

8

मैं एक ही समस्या में पड़ गए, और मैं Durandal गूगल समूह पर जवाब तक खोदा। मैंने यहां अपने प्रश्न पर परिणाम पोस्ट किए। KO cannot find template with ID

असल में आप अभी तक नामित/आईडीड नॉकआउट टेम्पलेट्स का उपयोग नहीं कर सकते हैं, वे समर्थित नहीं हैं। जल्द ही उनके समाचार समूह पर Durandal devs के अनुसार समर्थन आ सकता है। वर्कअराउंड या तो इनलाइन, या डुरंडल की रचना कार्यक्षमता का उपयोग करना है।

+0

+1 को यहां पोस्ट करने के लिए Kal_Torak को +1 .. :) – mikekidder

0

KO टेम्पलेट्स Durandal के साथ अच्छी तरह से काम करने लगते हैं नहीं है - देखें रचना बजाय (इसके बारे में यहाँ Durandal पदों के निर्माता) का उपयोग करें - https://github.com/BlueSpire/Durandal/pull/50

कुछ और यहाँ blurb: KO cannot find template with ID

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