javascript - angularjs 无法实例化模块 ui.bootstrap.demo

标签 javascript angularjs

我正在学习 AngularJS,但我陷入了困境。我不断收到错误

 ncaught Error: [$injector:modulerr] Failed to instantiate module ui.bootstrap.demo due to:
 Error: [$injector:nomod] Module 'ui.bootstrap.demo' is not available!

下面是我的 html 文件

<html ng-app="ui.bootstrap.demo">
<head>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular-animate.js"></script>
<script src="//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-1.3.3.js"></script>
<link href="//netdna.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
<script src="https://rawgit.com/esvit/ng-table/master/dist/ng-table.min.js"></script>
<script src="resources/js/main.js"/>
<script src="resources/js/gsenv.js"/>
<script src="resources/js/CarouselController.js"/>
</head>

但是,如果我不在单独的文件中编写 JavaScript,它就会按执行方式运行

<script type="text/javascript">
angular.module('ui.bootstrap.demo', ['ngAnimate', 'ui.bootstrap']);
angular.module('ui.bootstrap.demo').controller('CarouselDemoCtrl', function ($scope, $http, dataShare) {
    $scope.myInterval = 5000;
    $scope.noWrapSlides = false;
    $scope.active = 0;
    var slides = $scope.slides = [];
    var currIndex = 0;

    $scope.sendEnvName = function(data) {
        dataShare.sendEnvNameDetails(data);
    }

    $scope.addSlide = function (envName) {
        slides.push({
            text: envName,
            id: currIndex++
        });
    };

    $http.get("http://localhost:8080/getEnvList")
            .success(function (data) {
                for (var i in data) {
                    $scope.addSlide(data[i].envName);
                }
            });

});

这样工作正常,无法理解可能是什么问题

main.js

var app = angular.module('ui.bootstrap.demo', ['ngAnimate', 'ui.bootstrap', 'ngTable']);

jsenv.js

app.factory('dataShare',function($rootScope){
var service = {};
service.envName = 'no-env'
service.sendEnvNameDetails = function(data){
    console.log(data)
    this.envName = data;
    $rootScope.$broadcast('data_shared');
};
service.getData = function(){
    return this.envName;
};
return service;
});

轮播

app.controller('CarouselDemoCtrl', function ($scope, $http, dataShare) {
$scope.myInterval = 5000;
$scope.noWrapSlides = false;
$scope.active = 0;
var slides = $scope.slides = [];
var currIndex = 0;

$scope.sendEnvName = function(data) {
    dataShare.sendEnvNameDetails(data);
}

$scope.addSlide = function (envName) {
    slides.push({
        text: envName,
        id: currIndex++
    });
};

$http.get("http://localhost:8080/getEnvList")
    .success(function (data) {
        for (var i in data) {
            $scope.addSlide(data[i].envName);
        }
    });

});

最佳答案

更改您的 Controller 和工厂:
来自:

app.controller('CarouselDemoCtrl', function ($scope, $http, dataShare) { });

致:

angular.module('ui.bootstrap.demo').controller('CarouselDemoCtrl', function ($scope, $http, dataShare) { });

来自:

app.factory('dataShare',function($rootScope){});

致:

angular.module.factory('dataShare',function($rootScope){});

关于javascript - angularjs 无法实例化模块 ui.bootstrap.demo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37797574/

相关文章:

mysql - 如何使用 Angular 从两个表中获取数据并以 HTML 形式显示它们?

javascript - 如何管理(打开、关闭、调整大小)多个窗口

javascript - 图像作为 html Canvas 的模板

javascript - 选择 HTML 文档的所有文本

javascript - ng-repeat 对象属性,但在输入后散焦输入框

AngularJS:ng-show/ng-hide 不适用于 `{{ }}` 插值

javascript - Angular js ng-click 在子元素中不起作用

javascript - JQuery - 当悬停在另一个 div 上时 div 变暗

javascript - Bundler 在 Powershell 中工作,但不能作为构建后事件

javascript - 为 Node JS 服务器设置用户代理