javascript - 将 jquery 指定为 angularjs 的依赖项会在 requirejs 中生成错误

标签 javascript jquery angularjs requirejs

我正在尝试并尝试在 Angular 的 config() 函数中使用 Angular.element (jQuery 包装器)。但是,在 main.js 文件中,一旦我在 Angular 下添加 deps,它就会生成 $injector:modulerr 错误(第一个注释所在的位置)

脚本标签放置在我的 html 文件之前

<script src="js/vendor/require.min.js" data-main="js/own/main.js"></script>

main.js 文件

require.config({
    baseUrl: "js/vendor/",
    paths: {
        "jquery": "jquery-2.1.1.min",
        "angular": "angular.1.2.9.min"
    },
    shim: {
        "angular": {
            deps: ["jquery"],   // As soon as I add this, it generates a $injector:modulerr error
            exports: "angular"
        }
}
});

require(["angular"], function(angular){
    angular
    .module("app", [])          // ng-app="app" already defined in <body>
    .controller("appctrl", function($scope){  // ng-controller="appctrl" already defined in <body>
        $scope.sample = 1;      // this works fine if I don't add deps under angular in require.config
    });
});

最佳答案

通过删除 html 页面中的指令“ng-app='urAppName'”,错误就消失了。在定义你的 Angular 模块之后,ng-app 必须由 angular.bootstrap(document.body, ["urAppName"]) 手动引导,例如angular.module("urAppName", []).controller().....;

请注意,您可以在页面中保留其他指令(例如 ng-controller)或模型数据(例如 {{modelName}})。

关于javascript - 将 jquery 指定为 angularjs 的依赖项会在 requirejs 中生成错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24956173/

相关文章:

javascript - Laravel-如果我将变量传递给 Controller ​​并保存在数据库中,如何在 javascript 中使用 switch case

angularjs - Angular JS页面加载错误

javascript - 如何动态更改 Angular JS 中类的内容?

JavaScript 对象克隆

javascript - 当您过滤时, foreach 不适用于对象数组

javascript - 是否可以将整个元素存储到本地存储中?

javascript - 如何在 AJAX 调用中选择时用新值替换初始 PHP 变量?

jquery - 单击父级时触发单击

javascript - Bootstrap - 折叠的菜单项水平显示而不是垂直显示

angularjs - UI 路由器 - 检查状态是否存在