javascript - Angular JS 注入(inject)自定义服务

标签 javascript angularjs

我无法接受我的定制服务,该服务位于单独的文件中。我知道这都是堆栈溢出造成的,但我就是不知道我在哪里搞砸了。

HTML:

<!DOCTYPE html>
<html lang="en" ng-app="angularApp">
<head>
  <!-- ANGULAR -->
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.6/angular.min.js"></script>
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular-sanitize.js"></script>
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.9/angular-route.js"></script>
  <link href="styles/angularApp.css" rel="stylesheet">
  <script src="scripts/controllers/angularApp.js"></script>
  <script src ="scripts/services/clearCodemirror.js"></script>

主 Angular javascript 文件(包含我的 Controller )

var myApp = angular.module("angularApp", ["ui.codemirror","ui.bootstrap", "ngSanitize", "ngRoute"]);

myApp.controller("mainController", ["$scope", "$timeout", "clearCodemirror", function($scope, $timeout, clearCodemirror){

我尝试注入(inject)的服务:

var myApp = angular.module("angularApp");

myApp.service("clearCodemirror", function(cm){

我不断收到错误:

Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.2.6/$injector/modulerr?p0=angularApp&p1=Error…oogleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.2.6%2Fangular.min.js%3A29%3A56)

我只包含每个文件的开头,这样你们就不必费力地阅读大量代码。我哪里搞砸了?

谢谢!

最佳答案

通过从第二个文件中调用 angular.module("angularApp"),您将重新创建一个 Angular 模块,并且不会获得对在前一个文件中创建的模块的引用。

有几种方法可以解决这个问题。最简单的一个(在我看来)是将 Angular 应用程序设置为 window.VARIABLE。

window.myApp = angular.module("angularApp", ["ui.codemirror","ui.bootstrap", "ngSanitize", "ngRoute"]);

然后,从第二个文件中您可以:

var myApp = window.myApp;

myApp.service("clearCodemirror", function(cm){

有更好的方法可以做到这一点。然而,这个让你继续前进。干杯!

关于javascript - Angular JS 注入(inject)自定义服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31507942/

相关文章:

angularjs - 在温泉 UI 中使用多个 html 文件

javascript - 当用户在输入字段中输入数据时,无法动态显示数据

javascript - 使用 javascript 进行图像转换

javascript - 在 PhoneGap 中使用 JavaScript 创建和使用 iOS settings.bundle 值

javascript - 帮助改进这个 javascript 输入掩码

angularjs - 触摸设备上的 Angular 鼠标指令

javascript - 在 Angular 应用程序外部分配范围对象

javascript - 使用 CSS 和 jquery 应用滚动效果

javascript - 是否可以使用 JS 修改调用脚本的 html 文件?

java - 如何自定义验证失败返回的字段名称?