1

我有以下html:

<!DOCTYPE html>
<html>
<head>
    <title>Angular JS</title>
    <script type="text/javascript" src="/javascripts/app.js"></script>
</head>
<body>

<div ng-app="myApp">

    <div ng-controller="FirstController">
        <input type="text" ng-model="data.message">
        <h1>{{data.message}}</h1>
    </div>


    <div ng-controller="SecondController">
        <input type="text" ng-model="data.message">
        <h1>{{data.message}}</h1>
    </div>

</div>

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.min.js"></script>
</body>
</html>

和以下咖啡脚本:

window.myApp = angular.module 'myApp', []

myApp.factory 'Data', ->
    return message : 'I am data from a factory'

myApp.controller 'FirstController', ($scope, Data) ->
    $scope.data = Data

myApp.controller 'SecondController', ($scope, Data) ->
    $scope.data = Data

当我运行应用程序时,它会打印出 {{data.message}} 而不是我在输入框中键入的文本。当我从 html 中删除模块依赖项并从 div 中的父级获取数据时,它工作正常。这让我相信模块没有被创建。我的代码有什么问题?

4

1 回答 1

4

您需要将脚本标记放在head库脚本之后。

于 2013-09-21T21:03:56.110 回答