2013-03-03 8 views
5

मैं निम्नलिखित तरीके से knockoutjs लोड करने के लिए requirejs उपयोग करने के लिए कोशिश कर रहा हूँ के साथ परिभाषित नहीं है:ko requirejs

<script type="text/javascript"> 
    require(['scripts/knockout-2.2.1.debug'], function() { 
     var someModel = { 
      firstname: ko.observable('asd') 
     }; 
     ko.applyBindings(someModel); 
    }); 
</script> 

कहाँ require.js शीर्ष पर एक स्क्रिप्ट टैग का उपयोग कर भरी हुई है। जब यह कोड निष्पादित होता है, तो मुझे कोई त्रुटि परिभाषित नहीं होती है। समान करने का सही तरीका क्या है?

+2

कैसे समारोह के बारे में '(ko) {.....' – HungryCoder

+0

धन्यवाद HungryCoder .. यह समस्या का समाधान। असल में मैं एक टिप्पणी के रूप में एक टिप्पणी चिह्नित नहीं कर सकता लेकिन यह है। – helloworld

+0

बस उत्सुक - नीचे तर्क क्या है? यदि मैं आवश्यकता में 4 पुस्तकालयों को शामिल करता हूं, तो मुझे उनका उपयोग करने के लिए 4 पैरामीटर जोड़ना होगा? इसके अलावा, अगर मैं पेज पर केवल 2 स्क्रिप्ट टैग शामिल करता हूं - एक के लिए requjs और अन्य knockoutjs के लिए (उसी क्रम में और पृष्ठ पर कोई अन्य कोड नहीं), यह त्रुटि फेंकता है। क्या यह केवल requjs जोड़कर है, यह अन्य निम्न स्क्रिप्ट टैग के साथ संघर्ष करता है? मेरी समस्या हल हो गई है लेकिन महान अगर कोई मेरा भ्रम साफ़ कर सकता है। – helloworld

उत्तर

5
require(['scripts/knockout-2.2.1.debug'], function(ko) { 

मैं सुनिश्चित नहीं हूं लेकिन requirejs पर उदाहरण देखकर, मैं इन कि कॉलबैक फ़ंक्शन के दायरे के अंदर लोड किए गए हैं लगता है। इसलिए, जब तक कि आप इसे अपने कार्य में स्वीकार नहीं करते हैं, आप इसका उपयोग नहीं कर सकते हैं।

हां, आप सही हैं (कम से कम, उनके exmaple देख रहे हैं)। यदि आप 4 पुस्तकालयों को शामिल करते हैं, तो आपको 4 पैरामीटर स्वीकार करने की आवश्यकता है। उदाहरण के लिए, यदि आप jQuery और नॉकआउट भरी हुई है, आप इसे इस प्रकार लिख सकते हैं:

require(['scripts/jquery.js', 'scripts/knockout-2.2.1.debug'], function($, ko) { 
संबंधित मुद्दे