如何在页面加载时只显示一次角引导模式?
我可以在页面加载时显示引导模式,即使在路由改变时模式也会触发。就像我使用浏览器后退按钮或向前按钮从其他页面返回到同一页面一样。如果它在页面重新加载时显示,那对我来说可以,但是在路由改变时它也显示出来。
这是我用来显示在页面load.i已尝试一些在线解决方案,但没有working.it可能是重复的代码。但其他解决方案不适合我。我试过用onroutechangestart - >来隐藏,但它仍在显示,怎么做。谁能帮帮我吗。如何在页面加载时只显示一次角引导模式?
angular.element(document).ready(function() {
$scope.showModal = true;
});
您可以创建一个工厂,控制你的应用程序
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()">
相反,我们可以使用ng-init = toggleModal函数来启动模式,但问题是,它会显示我是否使用后退按钮或某些重定向从其他页面转到同一页面。它应该只显示一次。 我也试过你的代码。同样的问题 – codelearner
感谢您的回答。你的答案很简单。我正在考虑使用会话,本地存储使复杂 – codelearner
伟大的,高兴的帮助:)是的,localstorage可以使事情有点丑陋,更复杂,然后它应该是 –
的代码,你已经提供了将显示莫代尔每当你的DOM 准备好了。你想在哪种状态或路线显示模式,而不是在其他? –
我使用正常的ngRoute而不是ui路由器。我希望该模式仅在'/ home'中显示,如果我从其他页面点击,它不应该再次显示它 – codelearner
如果它基于session.i.e(每个会话一次),它也可以。如何与会话做到这一点,你能帮我吗 – codelearner