0

我可以在頁面加載時顯示引導模式,即使在路由改變時模式也會觸發。就像我使用瀏覽器後退按鈕或向前按鈕從其他頁面返回到同一頁面一樣。如果它在頁面重新加載時顯示,那對我來說可以,但是在路由改變時它也顯示出來。
這是我用來顯示在頁面load.i已嘗試一些在線解決方案,但沒有working.it可能是重複的代碼。但其他解決方案不適合我。我試過用onroutechangestart - >來隱藏,但它仍在顯示,怎麼做。誰能幫幫我嗎。如何在頁面加載時只顯示一次角引導模式?

angular.element(document).ready(function() { 
    $scope.showModal = true; 
}); 
+0

的代碼,你已經提供了將顯示莫代爾每當你的DOM 準備好了。你想在哪種狀態或路線顯示模式,而不是在其他? –

+0

我使用正常的ngRoute而不是ui路由器。我希望該模式僅在'/ home'中顯示,如果我從其他頁面點擊,它不應該再次顯示它 – codelearner

+0

如果它基於session.i.e(每個會話一次),它也可以。如何與會話做到這一點,你能幫我嗎 – codelearner

回答

2

您可以創建一個工廠,控制你的應用程序

app.factory('startFact',function(){ 

     var isStarted = false; 

     return{ 
      isStarted: function(){ 
       return isStarted; 
      }, 

      startApp: function(){ 
       isStarted = true; 
      }, 
     }; 
    }); 

的狀態在控制器

app.controller('mainCtrl', ['$scope','startFact', function ($scope, startFact) { 
     $scope.init = function() { 

      if (!startFact.isStarted()) { 
       $scope.showModal = true; 
       startFact.startApp(); 
      } 
     }; 
    }]); 

調用init函數

<body ng-controller="mainCtrl" ng-init="init()"> 
+0

相反,我們可以使用ng-init = toggleModal函數來啓動模式,但問題是,它會顯示我是否使用後退按鈕或某些重定向從其他頁面轉到同一頁面。它應該只顯示一次。 我也試過你的代碼。同樣的問題 – codelearner

+0

感謝您的回答。你的答案很簡單。我正在考慮使用會話,本地存儲使複雜 – codelearner

+0

偉大的,高興的幫助:)是的,localstorage可以使事情有點醜陋,更復雜,然後它應該是 –

相關問題