Angular.js:没有控制器

时间:2014-02-01 09:02:10

标签: angularjs angularjs-controller

我只想尝试一个简单的示例,但是配置约定的奇怪性让我受阻。

看来我做的是正确的,我可以在DOM中看到Angular。但它没有控制器,并且已经处理了以控制器为目标的dom元素。

有没有人看到我为杀死小狗而做的明显愚蠢的事情?

var app = angular.module( 'AppModule',[] );
angular.module( 'AppModule').controller(
'AppController',
['$scope', '$log',
    function( $scope, $log ) {
        $log.warn("This is not working");
        $scope.main = {
            user : 'Scott',
            id   : 2,
            priv : 'admin'
        };
    }
]);

HTML代码 - 这太简单了。

<!DOCTYPE html>
<html ng-app="AppModule">
<head>
<title>foo</title>
</head>
<body>
<div class="container">
    <div ng-controller="AppController">
        <div >Welcome {{main.user}}</div>
            <div >level{{main.priv}}</div>
    </div>
</div>

<!-- <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script> -->
<script src="/lib/angular/angular.js"></script>
<!--<script src="/lib/bootstrap.min.js"></script> -->
<script src="/lib/foo-min.js"></script>

</body>
</html>

如果你能指出我做错了什么骨头,我会成为你最好的朋友。

3 个答案:

答案 0 :(得分:0)

我不知道您的目录结构是什么样的,但尝试没有斜杠

<script src="lib/angular/angular.js"></script>
<script src="lib/foo-min.js"></script>

答案 1 :(得分:0)

我可以看到一点&#34;错误&#34;,这不是一个决定性问题。你有:

var app = angular.module( 'AppModule',[] ); angular.module( 'AppModule').controller(

虽然它应该是(注意我通过app改变角度):

var app = angular.module( 'AppModule',[] ); app.controller(

顺便说一句,尝试改变你的注释:

var app = angular.module( 'AppModule',[] );
app.module( 'AppModule').controller(
'AppController',
['$scope', '$log',
    function( $scope, $log ) {
        $log.warn("This is not working");
        $scope.main = {
            user : 'Scott',
            id   : 2,
            priv : 'admin'
        };
    }
]);

对此:

var app = angular.module('appModule', []);

app.controller('appController', function ($scope, $log){
    $log.warn("This is not working");
    $scope.main = {
        user : 'Scott',
        id   : 2,
        priv : 'admin'
    };

});

在这里你可以找到一个运作良好的jsfiddle: http://jsfiddle.net/ACmXR/1/

希望能提供帮助

答案 2 :(得分:-1)

您是否已将控制器js文件引用到您正在显示的html以外的某个位置?如果没有,首先在身体末尾添加对此的引用。