আমি যে অ্যাপটিতে কাজ করছি তার মধ্যে বিভিন্ন রাজ্য রয়েছে (ইউআই-রাউটার ব্যবহার করে), যেখানে কয়েকটি রাজ্যে আপনাকে লগ ইন করা প্রয়োজন, অন্যগুলি সর্বজনীনভাবে উপলভ্য।
আমি এমন একটি পদ্ধতি তৈরি করেছি যা ব্যবহারকারীর লগ ইন হয়েছে কিনা তা যাচাই করে দেখা যায়, আমার বর্তমানে যে সমস্যাটি হচ্ছে তা আসলে প্রয়োজন অনুসারে আমাদের লগইন-পৃষ্ঠাতে পুনঃনির্দেশ করছে। এটি লক্ষ করা উচিত যে লগইন পৃষ্ঠাটি বর্তমানে অ্যাঙ্গুলারজেএস অ্যাপের মধ্যে স্থাপন করা হয়নি।
app.run(function ($rootScope, $location, $window) {
$rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) {
if (toState.data.loginReq && !$rootScope.me.loggedIn) {
var landingUrl = $window.location.host + "/login";
console.log(landingUrl);
$window.open(landingUrl, "_self");
}
});
});
কনসোল.লগ সঠিকভাবে লক্ষ্যযুক্ত url প্রদর্শন করে shows তারপরে লাইনটি, আমি। উইন্ডো.পেন থেকে উইন্ডো.লোকেশন.href পর্যন্ত ব্যবহারিকভাবে চেষ্টা করেছি এবং আমি যা চেষ্টা করেছি তা পুনঃনির্দেশিত হওয়ার পরে তা ঘটেনি।
সম্পাদনা (পুনরায় সেট করা):
বিষয়টি খুঁজে পেয়েছি Found
var landingUrl = $window.location.host + "/login";
$window.open(landingUrl, "_self");
ভেরিয়েবল ল্যান্ডিংআরলকে 'ডোমেইন.com/লগিন' এ সেট করা হয়েছিল, যা $ window.location.href (যা আমি চেষ্টা করেছিলাম তার মধ্যে একটি) কাজ করে না। তবে কোড পরিবর্তন করার পরে
var landingUrl = "http://" + $window.location.host + "/login";
$window.location.href = landingUrl;
এটা এখন কাজ করে।