1

过去几天我一直在努力解决这个问题,现在我相信是时候向社区寻求帮助了。

我正在使用MEAN堆栈创建一个网站,这是我第一次使用 Angular JS,所以我是个菜鸟。

我遇到的问题是,我无法在我的视图中呈现任何 $scope 数据。这让我发疯了,因为 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');
    }
}]);

我可以单击菜单中的注销按钮,这将触发控制台日志,因此它正在进入控制器。但它根本不会显示我的 $scope 数据。

4

1 回答 1

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

让我知道是否需要任何进一步的帮助。

于 2014-02-14T18:14:24.910 回答