मूल रूप से
, यदि आप संपत्ति बाध्यकारी (यदि आप मूल्य स्थिर है और परिवर्तन पर दर्ज करना पड़ा हुआ होने की जरूरत नहीं होगी) आप एक जावास्क्रिप्ट साझा लाइब्रेरी में यह परिभाषित कर सकते हैं इस तरह की जरूरत नहीं है:
// MyConstants.js
.pragma library
var mainbg = "red";
और इस तरह QML में इसका इस्तेमाल करते हैं:
import "MyConstants.js" as Constants
Rectangle {
color: Constants.mainbg;
}
लेकिन इस का बुरा पक्ष हैं: - कोई मजबूत टाइपिंग (जे एस वास्तव में प्रकार के बारे में पता नहीं है) तो भी अगर यह नहीं है एक तुम कुछ भी डाल सकता है रंग। - और यदि आप mainbg
बदलने के लिए, इसे का उपयोग मद परिवर्तन के बारे में सूचित नहीं किया जाएगा और पुराने मूल्य
तो रखना यदि आप प्रकार की जाँच और बाध्यकारी/परिवर्तन की जरूरत है सूचित, बस के एक सदस्य के रूप में अपनी संपत्ति घोषित करेंगे मूल ऑब्जेक्ट में रूट ऑब्जेक्ट, और यह क्यूएमएल एप्लिकेशन में हर जगह से सुलभ होगा, क्योंकि वास्तव में संपत्ति सीधे क्यूएमएल कॉन्टेक्स्ट ऑब्जेक्ट में पंजीकृत होगी, जो परिभाषा के अनुसार वैश्विक है।
उम्मीद है कि यह मदद करता है।
क्यों न सिर्फ एक सरल '.pragma लाइब्रेरी' जावास्क्रिप्ट फ़ाइल? – Matteo