知道为什么控制器从不开火吗?

时间:2017-07-03 13:23:40

标签: angularjs

我在项目中使用angularjs 1.2。

这是模块和控制器:

(function () {
    "use strict";

    angular.module('dashboard', ['ngRoute', 'layersProperty'])
    .controller('dashboardController', 
            function ($scope) {
                //never fire!
                var self = this;
                $scope.data = "bbbbb";
            })
})();

这里是观点:

<div ng-app="dashboard" data-role="page" id="layersProperty" data-add-back-btn="true" style="background-color:red">
    <div ng-controller="dashboardController">
            {{data}}
    </div>
</div>

但问题是控制器永远不会发火!知道为什么控制器永远不会发火?

2 个答案:

答案 0 :(得分:0)

确保在注入ngRoutelayersProperty时,您在控制器文件之前包含了这两个JavaScript文件,其中包含dashboardController控制器。这是因为,如果您在[$injector:modulerr]的控制器文件中dashboardController依赖于dashboardController并且{ngRoute尚未包含这些代码,则Angular会引发layersProperty错误{1}}。

在上面的代码中,如果您删除['ngRoute', 'layersProperty']并将其替换为[],那么您的控制者将会调用。因此,角度无法找到ngRoutelayersProperty服务文件时会遇到一些问题。

答案 1 :(得分:0)

检查你的主html中是否有对angularjs的引用。