gpt4 book ai didi

javascript - 如何让 Controller 函数在 AngularJS 中只执行一次?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:02:49 25 4
gpt4 key购买 nike

我有一个在某些 html 中引用的 Controller 。并且 html 在某些事件上发生变化,因此 Controller 功能代码会执行多次。
问题是我有一段代码只需要执行一次。
这是 Controller :

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 更改时执行。
这是 Controller 的插入方式:

<section ng-controller="TreeMapController"
ng-class="{ 'main-container-single': zoomed }"
class="minContainer main-container">

问题:
1)如何让controller函数只执行一次?
2) 或者有什么方法可以编写只执行一次的代码?

最佳答案

将您的“运行一次”代码放入 service ,并返回一个 promise 。

将该服务注入(inject)您的 Controller 。

有关服务创建并返回 promise 以及 Controller 随后使用该 promise 的示例,请参阅 Should services expose their asynchronicity?

关于javascript - 如何让 Controller 函数在 AngularJS 中只执行一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17816703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com