2017-07-03 64 views
0

我在我的項目中使用了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> 

但問題是,控制器永遠不會觸發任何想法,爲什麼控制器永遠不會火!?

+0

您是否在html頁面上包含腳本?你有任何控制檯錯誤? – devqon

+0

@devqon,是的我包括腳本,我沒有在控制檯中得到任何錯誤 – Michael

+0

如果你在任何地方包含'{{1 + 1}}'你會得到一個'2'作爲輸出? – devqon

回答

0

請確保當您注入ngRoutelayersProperty時,那麼您的控制器文件之前包含這兩個JavaScript文件,而您的控制器文件已存在dashboardController控制器。這是因爲,如果您沒有在控制器文件的dashboardController之前包含那些代碼,那麼Angular會向您發送[$injector:modulerr]錯誤,因爲dashboardController依賴於ngRoutelayersProperty

在上述代碼中,如果您刪除['ngRoute', 'layersProperty']並將其替換爲[]那麼您的控制器將會調用。因此,角度找不到ngRoutelayersProperty服務文件時必定存在一些問題。

+0

thaks for post.This row angular.module('dashboard',['ngRoute','layersProperty '])我試圖對這個angular.module('儀表板',[])仍然控制器沒有被解僱。我沒有得到控制檯中的任何錯誤。 – Michael

+0

看到這個jsfiddle http://jsfiddle.net/HgDA7/654/ –

0

檢查您是否在您的主html中引用了angularjs。

相關問題