angularjs java和velocity app

时间:2014-04-19 12:55:10

标签: java javascript angularjs velocity

我只是想在我当前在本地运行的java / velocity webapp中创建一个angularjs应用程序。我遇到的问题是:未捕获错误:[$ injector:modulerr]无法实例化模块... 现在只需谷歌搜索此问题它告诉我导入angular-route.js,我已经是,但似乎仍然得到这个错误。

以下是目前的情况。

<script type="text/javascript" src="/js/angular/angular.js"></script>
<script type="text/javascript" src="/js/angular/angular-route.js"></script>

这是我为我的app定义html的html / vm文件。 (这位于页面正文内)

<div ng-app="myApp">
    <div ng-controller="AvengersCtrl">
        <input type="text" ng-model="search.$" />
        <table>
            <tr ng-repeat="actor in avengers.cast | filter:search">
                <td>{{actor.name}}</td>
                <td>{{actor.character}}</td>
            </tr>
        </table>
    </div>
</div>

这是我在main.js中加载的javascript

    var myApp = angular.module('myApp', ['ngRoute']);
    myApp.factory('Avengers', function() {
        var Avengers = {};
        Avengers.cast = [{
            name: "Robert Downey Jr.",
            character: "Tony Stark / Iron Man"
        }, {
            name: "Chris Evans",
            character: "Steve Rogers / Captain America"
        }, {
            name: "Mark Buffalo",
            character: "Bruce Banner / The Hulk"
        }];
        return Avengers;
    })

    function AvengersCtrl($scope, Avengers) {
        $scope.avengers = Avengers;
    }

对于我的生活,我无法弄清楚为什么我会继续犯这个错误。很想知道这是我现在的Java应用程序构建的问题,以及角度可能会在该环境中运行的问题?但我真的不知道。提前谢谢。

1 个答案:

答案 0 :(得分:0)

问题可能在于您标记控制器的方式。我试试这个语法。

    myApp.controller("AvengersCtrl", function($scope, Avengers) {
    $scope.avengers = Avengers;
    }