2013-10-18 78 views
0

首先對不起我的英語。在角度,錯誤參數中創建新控制器不是函數

我剛開始用角度使用MEAN(mongo,express,angular,node),我有問題。

當我創建一些簡單的控制器

Argument 'testctrl' is not a function, got undefined 

我已經搜查,並試圖計算器上幾乎所有的意見,但他們沒有幫助:(

在這裏,我總是得到錯誤是我testctrl

angular.module('mean.system').controller('testctrl', ['$scope', 'Global', function ($scope, Global) { 
$scope.global = Global; 
$scope.count = 4; 
}]); 

and view index.html

<section data-ng-controller="IndexController"> 
<h1>This is the home view</h1> 
    <div data-ng-controller="testctrl">{{count}}</div> 
</section> 

我正在使用工作控制器「IndexController」與工作視圖。

我不知道我在做什麼錯。

編輯:

我找到了! 我的問題很簡單,我沒有附加控制器文件到正文。我應該加

<script type="text/javascript" src="[controller_path]"></script> 

這足以正常工作。

希望這對一個人也有幫助。

+1

module('mean.system') - 應用程序模塊名稱可能有其他名稱嗎?如果是 - 請檢查是否將模塊「mean.system」指定爲主模塊的依賴項。 – kostik

+0

@ kostik說的。也許你可以在你設置ng-app的地方加入HTML部分呢? – ivarni

+0

模塊名稱正確,因爲其他控制器工作正常。只有當我試圖添加新的控制器時纔會發生。 編輯: ng-app由此框架生成。 – SzymonPoltorak

回答

0

您的代碼看起來不錯,我發佈到Fiddle並沒有得到跟隨的錯誤。無論如何,我添加了虛擬服務來模擬你的代碼。我會玩Angular版本。測試在1.0.2和1.1.1

angular.module('mean.system', []) 
.controller('testctrl', ['$scope', 'Global', function ($scope, Global) { 
    $scope.global = Global; 
    $scope.count = 4; 
}]) 
.factory("Global", function() { // dummy service 
    var number = 1; 
    return number; 
}); 



function IndexController($scope, Global) { 
     $scope.Global = Global; 
} 
+0

也許你可以嘗試從https://github.com/linnovate/mean下載這個框架,然後嘗試創建新的控制器並幫助我?當然,如果你有時間:)這將是非常友好的 – SzymonPoltorak

+0

這將是有問題的,因爲我不在辦公室,我需要VPN。但是,由於此演示正在嘗試與您的env進行比較。祝你好運 –

0

我有同樣的問題,然後我意識到你必須添加腳本footer.jade,似乎在回想明顯。

相關問題