2015-03-30 9 views
5

में वर्तमान यूआरएल प्राप्त करें मैं एम्बरजेएस में वर्तमान यूआरएल प्राप्त करने की कोशिश कर रहा हूं लेकिन मैं नहीं कर सकता। मैं यह कर रहा हूं:एम्बर जेएस

App.Route = Ember.Route.extend(Em.I18n.TranslateableProperties, { 
    actions: { 
     didTransition: function (transition) { 
      this._super(); 
      console.log(window.location.href); 
      console.log(this.get('router.url')); 
     } 
    } 
}); 

मैं डीट्रांसशन का उपयोग करता था क्योंकि सभी तत्व लोड होने पर मुझे वर्तमान यूआरएल जानने की जरूरत है। उदाहरण के लिए: यदि मैं घर (/ घर) पृष्ठ में हूं और संपर्क पृष्ठ (/ संपर्क-पृष्ठ) पर नेविगेट करता हूं, तो मैं यूआरएल/संपर्क-पृष्ठ 'जानना चाहता हूं।

यदि मैं window.location.href का उपयोग करता हूं, लेकिन हमेशा नहीं। मैंने सोचा था कि किया गया था जब सब कुछ खत्म हो गया था, लेकिन नहीं।

क्यों? के रूप में अपने कोड का सुझाव

अग्रिम

+0

है कुछ भी नहीं लॉग इन या आप करते हैं खाली लॉग प्राप्त करें? बस इसे करने की कोशिश की थी और यह मेरे लिए ठीक काम करता है। –

+0

आप यूआरएल क्यों जानना चाहते हैं? आप इससे क्या करने वाले हैं? –

+0

हाय! मुझे यूआरएल पता होना चाहिए क्योंकि मुझे स्थानीय ऑब्जेक्ट –

उत्तर

4

didTransition धन्यवाद वास्तव में एक transition तर्क नहीं है।

इसके बजाय, आप तो जैसे afterModel विधि का उपयोग करना चाहिए:

App.Route = Ember.Route.extend(Em.I18n.TranslateableProperties, { 
    afterModel: function(resolvedModel, transition) { 
     var _this = this; // keep a reference for usage in then() 
     transition.then(function() { 
      console.log(_this.get('router.url')); 
     )}; 
    } 
}); 

संदर्भ:

+0

से तुलना करना है, मैं इस सुझाव का उपयोग करना चाहता हूं लेकिन 'संक्रमण के बाद' प्रत्येक संक्रमण के बाद आग नहीं लगती है। इस जानकारी को पाने के लिए कोई और तरीका? – lizlux

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