我有一个单页应用程序,我想只要有人打开我的网址就会加载一个控制器而不管状态如何。
我有一个像这样的控制器:
app.controller('someController', ['$scope', function($scope){
$scope.somefunction = function(){
console.log("Some function is called ");
}
}])
我希望当有人打开我的任何页面时,只能加载一次。
目前我尝试在我的header.html文件中添加如下内容:
<div class="" ng-controller="someController"></div>
这样我可以为任何页面调用此控制器,但问题是如果用户更改页面,它将每次调用。
我认为可能有某种方法可以在app.js下添加此功能,或者在页面加载时只调用一次更好的方法。
任何人都可以在这里帮助我。
答案 0 :(得分:3)
这听起来像是你想要的,你应该把控制器放在ui-view
的父div上:
<div class="container" ng-controller="someController">
<div ui-view></div>
</div>
答案 1 :(得分:0)
您可以使用Cookie。在函数内部,您可以在加载后存储cookie,每次加载时都可以检查cookie,并根据该cookie读取,您可以执行代码或不执行代码。
另一种方法是你可以在init上调用该函数。
<div class="" ng-controller="someController" data-ng-init="somefunction()"></div>