【发布时间】:2013-07-22 21:46:33
【问题描述】:
我有一个在某些 html 中引用的控制器。并且 html 会在某些事件上发生变化,因此控制器功能代码会执行多次。
问题是我有一个只需要执行一次的代码。
这是控制器:
angular.module("someModule", [dependencies])
.controller("leftBoardController", function ($scope, someService) {
(function createFilter(dataService) {
// here I'm loading all the data on which I want to operate after
// this code should execute only once
})(TempEmployeeService);
}
但它会在每次 html 更改时执行。
这是控制器的插入方式:
<section ng-controller="TreeMapController"
ng-class="{ 'main-container-single': zoomed }"
class="minContainer main-container">
问题:
1) 如何让控制器功能只执行一次?
2)或者有没有办法可以编写这种只执行一次的和平代码?
【问题讨论】:
-
html 更改是什么意思??您是指上述部分中的部分页面更改还是整个页面更改
-
我认为是整个页面。我更改了代码中的 url 并且 html 更改(页面未重新加载)
-
如果页面被刷新/加载/加载,控制器将被再次调用——这是预期的
标签: javascript angularjs