AngularJS控制器永远不会被执行

时间:2014-05-02 13:15:30

标签: angularjs

我开始使用AngularJS,并且我在外部文件中编写了一个简单的控制器功能。我在我的html页面加载这个文件,将主体设置为ng-controller =" myController"并有一个简单的输出。问题是控制器实际上从未被执行过,我一点也不知道为什么。我已经尝试将其移动为内联脚本,但仍然没有。

Html部分:

<script src="scripts/angular.min.js"></script>
    <script src="scripts/angular-route.min.js"></script>
    <script src="scripts/init.js"></script>
    <script src="controllers/contactlistcontroller.js"></script>
    <script src="scripts/modules.js"></script>
    <script src="scripts/inline.js"></script>

    <title>Augmented Contactlist</title>
</head>
<body ng-controller="myController">
        <ul>
        <li ng-repeat="c in contacts">Test</li>
        </ul>

控制器:

function myController($scope){
    alert("called");
    function getContacts(){
        //Dummy contacts
        var contacts = [
            {name: 'Testy Testerson', inPhone: false, inSF: true, id: '003i000000hUCdp'},
            {name: 'Randy Testerson', inPhone: false, inSF: true, id: '003i000000hUCdp'},
            {name: 'Steve Testerson', inPhone: false, inSF: true, id: '003i000000hUCdp'},
            {name: 'Herbert Testerson', inPhone: true, inSF: true, id: '003i000000hUCdp'},
            {name: 'Phony Testerson', inPhone: true, inSF: false, id: '003i000000hUCdp'}
        ];
        return contacts;
    }

    function getSFContacts(){

    }

    function getPhoneContacts(){

    }

    //Variables
    $scope.contacts = getContacts();
}

1 个答案:

答案 0 :(得分:3)

你错过了ng-app指令,告诉angular它是一个有角度的应用程序,并且启动和解析html,你需要在你的HTML上使用ng-app:

https://docs.angularjs.org/api/ng/directive/ngApp

尝试本教程以获取更多详细信息:http://tutorials.jenkov.com/angularjs/index.html

当您使用更多角度时,您可以使用应用程序注册模块并为角度应用程序添加服务。