[$ injector:modulerr]由于以下原因,无法实例化模块myApp:

时间:2019-11-15 03:29:21

标签: angularjs spring-boot

我的问题是错误:[$ injector:nomod]模块'myApp'不可用!您拼错了模块名称或忘记了加载它。 ...

我将项目设为MVC逻辑。这是我的主要角度代码

"use strict";

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

这是我的角度控制器代码

app.controller('myCtrl',['$scope','myFactory',function ($scope,userService) {
    var self=this;
    self.users=[];

    getAllData();

    function getAllData() {
        userService.getAllData()
            .then(function (value) {
                self.users=value;
            },function (reason) {
                console.log('Error');
            });
    }

}]);

这是我的角度服务代码

app.factory('myFactory',['$http','$q',function ($http,$q) {
    var uri='href="localhost:8080/index"';
    var factory=
        {getAllData:getAllData};

    return factory;


    function getAllData() {
        var deferred=$q.defer();
        $http.get(uri)
            .then(function (response) {
                deferred.resolve(response.data);
            },function (reason) {
                deferred.reject(reason);
            });
        return deferred.promise;
    }
}]);

这是我在index.html中使用的html代码

<script src="//unpkg.com/angular/angular.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.8/angular.min.js"></script>
<script src="https://code.angularjs.org/1.6.9/angular-route.js"></script>
<script src="https://code.angularjs.org/1.6.9/angular.min.js"></script>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script src="/static/angular/app.js"></script>
<script src="/static/userController.js"></script>
<script src="/static/angular/userService.js"></script>

这是我的Controller类,也许可以帮助您一些事情

import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class MyController {

    @RequestMapping("/index")
    public String home(){

        return "index";
    }
}

请帮助我,为什么我会出错?版本高于1.3,并且脚本代码编写正确。我在网上看了关于脚本遗忘的内容

我添加了照片照片

enter image description here

这是html中的代码,我想在表中显示所有用户

<tbody>
              <tr ng-repeat="user in myCtrl.getAllData">
                <td ng-bind="user.id"></td>
                <td ng-bind="user.name"></td>
                <td ng-bind="user.surname"></td>
                <td ng-bind="user.phone"></td>
                <td ng-bind="user.age"></td>
                <td ng-bind="user.note"></td>
              </tr>
              <tr>
                <td>Garrett Winters</td>
                <td>Accountant</td>

注意:它不完整,只有一部分代码

2 个答案:

答案 0 :(得分:0)

默认情况下,Spring Boot在静态文件夹中查找静态文件。因此,您无需在路径中包含“静态”。只是参考如下。

<script src="angular/app.js"></script>
<script src="angular/userController.js"></script>
<script src="angular/userService.js"></script>

,我看到您两次加载angular和angular.min.js,这不是必需的,只需将它们之一加载一次。希望这会有所帮助。

答案 1 :(得分:0)

当您传递给模块/或控制器的依赖项与任何已定义的服务都不匹配时,会发生此类问题。

我看到您在函数参数中使用userService,但是对此没有定义,我相信您应该改为使用myFactory

app.controller('myCtrl',['$scope','myFactory',function ($scope,myFactory) {