javascript - AngularJS Controller 在应用程序上触发两次

标签 javascript angularjs

我在 JavaScript 文件中创建了一个 Controller 模块,

myController.js

(function () {
    "use strict";
    var app = angular.module("mymodule");

    app.controller("MyController", ["$scope", "service", 
       function ($scope, service) {
            $scope.doSomething = function(){
                var element = service.getElement(1);
                element.events.register("mouseover", element, function(){});
            }
       }
    ]);
)();

我在 index.html 文件中引用如下。

<script src="js/lib/myController.js"></script>

我使用状态来调用我的 Controller 模板。

app.config(["$stateProvider", function ($stateProvider) {
    $stateProvider.state("myctrl", {
        url: "/myctrl",
        templateUrl: "templates/myctrl/myctrl.html",
        controller: "MyController"
    });
}])

我正在向 $scope.doSomething 函数放置一个断点。当我启动应用程序时,断点停止了该点。当我调用 Controller 模板 url 的 url 时,断点再次触发。所以我的事件注册了两次,事件触发了两次。

我认为 Controller 正在创建两次或另一个问题。

解决方案:

最佳答案

我查看了 HTML 并找出了问题所在。我的 href 链接调用模板 url 包含 ng-controller="MyController"并且模板包含 Controller 。所以打了两次电话。

关于javascript - AngularJS Controller 在应用程序上触发两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25802260/

相关文章:

javascript - 惰性模块加载如何在 typescript 中工作?

javascript - AngularJS:如何在初始化期间在 Controller 之间传递数据?

javascript - angularjs 和 ng-bind-html 无法正常工作

javascript - JS中如何单独点击每个链接?

javascript - ng-重复错误 : "Duplicates in a repeater are not allowed"

javascript - 如何滑动 slider 鼠标悬停分页

javascript - 从 bootstrap-timepicker 获取值(value) 24

jquery - 强制 ionic 侧菜单滚动到顶部

javascript - 如何获取 ng-form 中的所有元素

javascript - 为什么点击事件是在子元素上触发而不是监听 DOM 元素?