मैं अपने मार्ग विन्यास के लिए $stateProvider
का उपयोग कर रहा हूं। मैं एक आंशिक पृष्ठ से दूसरे (ng-click
पर) कुछ कस्टम डेटा पास करने के लिए प्रदान किए गए कस्टम डेटा का लाभ लेना चाहता था।मैं यूई-राउटर में किसी दृश्य से कस्टम डेटा कैसे पास कर सकता हूं?
कस्टम डेटा संलग्न राज्य ऑब्जेक्ट्स को
आप राज्य वस्तु के लिए कस्टम डेटा संलग्न कर सकते हैं (हम डेटा गुण का उपयोग करना चाहिये टकराव से बचने के लिए):
यह सबसे अच्छा मैं अब तक मिल गया है।
// Example shows an object-based state and a string-based state
var contacts = {
name: 'contacts',
templateUrl: 'contacts.html',
data: {
customData1: 5,
customData2: "blue"
}
}
$stateProvider
.state(contacts)
.state('contacts.list', {
templateUrl: 'contacts.list.html',
data: {
customData1: 44,
customData2: "red"
}
})
ऊपर के उदाहरण के साथ कहा गया है आप इस तरह डेटा का उपयोग कर सकते हैं:
function Ctrl($state){
console.log($state.current.data.customData1) // outputs 5;
console.log($state.current.data.customData2) // outputs "blue";
}
मान लें मैं एक और राज्य की अपनी टेम्पलेट और नियंत्रक के साथ ग्राहकों को कहा जाता है। मैं ग्राहकों के नियंत्रक/दृश्य के भीतर संपर्कों के राज्य डेटा ऑब्जेक्ट का मूल्य कैसे बदल सकता हूं? अर्थात: मैं इस से बदलना चाहते हैं:
data: {
customData1: 44,
customData2: "red"
}
इस के लिए
:
data: {
customData1: 100,
customData2: "green"
}
किसी भी सूचक या नमूना की सराहना की जाएगी!
संशोधित - मुझे यह स्वयं से काम कर रहा है और यहां बताया गया है:। नियंत्रक पर (कहें: ग्राहकCtrl), आप नाम से संपर्क का राज्य प्राप्त कर सकते हैं और इच्छित परिवर्तन कर सकते हैं - जैसे कि कस्टम डेटा ऑब्जेक्ट की संपत्ति मान को अपडेट करना जैसे: // नाम से राज्य प्राप्त करें और मूल्य बदलें कस्टम डेटा प्रॉपर्टी
$state.get('contacts').data.customData1= 100;
$state.go('contacts');// then you can make a go to that state.
मुझे आशा है कि इससे किसी की मदद मिलेगी।
आप समाधान आप एक जवाब के रूप में पाया जोड़ने और इसे स्वीकार करना चाहिए कर सकते हैं। यह पूरी तरह से ठीक है और प्रोत्साहित किया जाता है, ताकि अन्य लोग जो आपने सीखा उससे लाभ उठा सकते हैं। – GregL
धन्यवाद @ ग्रेगेल, मैंने अभी इसे पोस्ट किया है और इसे एक उत्तर के रूप में स्वीकार कर लिया है, मैं अद्यतन प्रश्न भी छोड़ दूंगा। – user3818435