2014-02-14 52 views
1

過去幾天我一直在努力解決這個問題,現在我相信它有時間聯繫社區尋求幫助。

我正在創建一個使用MEAN堆棧的網站,這是我第一次使用Angular JS,所以我是一個noobie。

我遇到的問題是,我無法在我的視圖中呈現任何$範圍數據。這一直使我瘋狂,因爲AngularJS chrome調試器顯示$ scope數據在那裏!但它不會在我的模板中呈現。

應用結構

  • /公共
    • /JS
      • /控制器
        • -user.js
    • -app.js
  • /視圖
    • -index.html

我的HTML內容 - 我不會拷貝整個文件,只角的部分。

<!doctype html> 
<html ng-app="PCT"> 

<div ng-controller="userController" class="column"> 
    <a class="dropdown-toggle" data-toggle="dropdown" href="#userinfo" >                    
     <img ng-src="{{user.img}}" style="width:40px; height:50px;" /> 
    </a>          
    <ul class="dropdown-menu" role="menu">          
     <li><strong>{{user.name}}</strong></li> 
     <li><a ng-click="logOut()">Sign Out</a></li> 
     <li><a href="">Admin Site</a></li>          
    </ul> 
</div> 
<script src ="js/app.js"></script> 
<script src="js/controllers/user.js"></script> 

我app.js

angular.module('PCT.userController',[]); 
//Importing all modules into main module 
angular.module('PCT',['PCT.userController']); 

我user.js的內容(控制器)

angular.module('PCT').controller('userController', ['$scope', function($scope){ 

    $scope.user = { 
     img : 'http://path/to/usr/img/user.jpg', 
     name : 'mcutalo' 
    }; 

    $scope.logOut = function(){ 
     console.log('logging out'); 
    } 
}]); 

我能夠點擊退出按鈕在我的菜單,內容這將觸發控制檯日誌,所以它將它傳遞給控制器​​。但它根本不會顯示我的$範圍數據。

回答

0

我不確定你的問題是什麼,但是如果「PCT」是你的模塊(它應該匹配名稱ng-app和app.module(「PCT」),並且不需要注入控制器,如果你正在定義使用

angular.module('PCT').controller('userController', ['$scope', function($scope){ 

}]); 

這裏控制器是一個工作的plnkr。

更新與註銷,它被稱爲的console.log ...

http://plnkr.co/edit/uSLVqEayCh2XeeGI7LZe?p=preview

讓我知道是否需要進一步的幫助。

+0

感謝您的回覆,但我發現問題不在我的角碼。這是在MEAN堆棧樣板中提供的配置的問題。我也不知道如果我以這種方式聲明它們,我不需要在主模塊中包含我的控制器。那謝謝啦 ! – mike