gpt4 book ai didi

javascript - 将依赖项传递给模块 Angular

转载 作者:行者123 更新时间:2023-11-30 00:08:05 26 4
gpt4 key购买 nike

所以我对 Angular 有点陌生,但对 JavaScript 不是。我正在使用其他人编写的应用程序,并试图在现有模块中创建一个新 Controller 。就依赖关系而言, Controller 几乎彼此相同。我的问题是如何将相同的依赖项传递给两个 Controller ?看起来您可以像这样传递它们:

`angular.module('ApertureForm', ['dialogs.main','dialogs.default-translations','ui.bootstrap'])`

当我对两个模块执行此操作时,无论出于何种原因, Controller 都会返回 undefined。那就是我卡住的地方。像上面的代码这样的依赖是怎么传入的呢?任何建议都会很棒。

最佳答案

angular.module('ApertureForm', ['dialogs.main','dialogs.default-translations','ui.bootstrap']) 告诉 AngularJS 初始化一个名为 ApertureForm 并加载其他 Angular 模块作为模块的依赖项

要向 Controller 添加依赖项,您可以执行以下操作:

angular.module('ApertureForm').controller('ControllerName', function($scope, $location, $timeout) {...});

angular.module('ApertureForm') = 获取名为 ApertureForm 的模块。

然后创建一个名为ControllerName 的 Controller 。闭包是您注入(inject)依赖项的地方。

为了防止 Controller 的依赖项在缩小时被重命名,你可以这样做:

angular
.module('ApertureForm')
.controller('ControllerName', ControllerName);


ControllerName.$inject = ['$scope', '$location', '$timeout'];

function ControllerName($scope, $location, $timeout) {...}

文档:https://docs.angularjs.org/guide/di

关于javascript - 将依赖项传递给模块 Angular ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37703486/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com