问题标签 [angularjs-module]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 如何监视 ServiceProvider?
什么
在我的 AngularJS 应用程序中,我试图监视一些内部结构,例如angular.module
和serviceProvider
.
如何
我成功窥探angular.module
我试图监视,angular.module(...).service
但它似乎从未被调用
或更通用的.provider
为什么
此时的用例是假设的,我希望能够在创建时审核所有用户定义的组件(如模块、工厂、服务、指令、控制器等)。
同样,是否可以链接and.callThrough()
,and.callFake()
以便我可以发布到审核日志。
angularjs - AngularJS 模块困境 - 单个或多个
对于我正在开发的一个中型应用程序,并在其他文章中观看了Misko 的最佳实践视频,我推断我不需要多个模块。
先有问题,后有论据。在视频中,Misko 含糊地暗示模块可能更适合单元测试,但没有详细说明。
- 采用单一模块方法实际上会阻碍任何形式的测试:单元、E2E 等吗?
- 我错过了什么明显的东西吗?
对于该应用程序,我此时可以推断出的唯一真正好处是组件重用,而在未来的版本中还有更多的期望:
- 延迟加载
- 视觉命名空间
可以安全地假设这些未来的问题现在不是主要问题,因为当时机成熟时,它们可以通过最少的 mod 轻松修复。
该产品及其组件仅供内部使用,我什至没有使用大多数文章指出的公共领域规模的组件可重用性。是的,我正确地组织了这一切,是的,依赖的平衡恰到好处,但我不明白为什么每个人或大多数人都应该有自己的模块。
我在这里发现的问题要么过于模糊地讨论模块化,要么只是理论上讨论。正如视频所暗示的,我的问题更多地针对当我们不模块化时会发生什么。
javascript - 检查对象是否为 instanceof angular
HTML:
在 jQuery 中:
所以,我假设
是真的..
相反我得到:
错误:[$injector:nomod ] http://errors.angularjs.org/1.3.0-beta.17/$injector/nomod?p0=undefined
...好的,所以尝试:
我在这里想念什么?如何检查对象是否是 angular 的实例?
其他令人困惑的事情:
类型错误:在 instanceof 检查中期待一个函数,但得到了#
^^ 如果 angular 是一个对象而 app 是一个对象,为什么它需要一个函数?
^^ .prototype 在哪里?如何确定对象是角度对象的实例?
javascript - 当将 angularjs 控制器拉出到不同的文件中时,如果我的模块没有首先加载怎么办?
当我的模块没有加载时,我该如何正确加载它?
假设我有几十个控制器,我想将每个控制器分成自己的文件。对于这个例子,假设我有一个控制器存在于一个文件中:controller.js
我有一个从以下位置加载的模块:base.js
我从我的 html 加载这些文件中的每一个:
当我按上述顺序加载文件时,我无权访问 pubmodule 所以我看到:
我密切关注这个问题,但这个问题没有考虑加载顺序,这是我感兴趣的主题。如何将我的控制器分成不同的文件并考虑我的模块加载顺序?只需更改我的 html 加载顺序即可解决此错误,但我担心在考虑延迟时我无法控制此错误。对 controller.js 的请求可能会先返回。
javascript - karma.conf.js 未捕获的引用错误:google 未定义
当我尝试运行业力测试运行器时,我从我的一个文件中收到如下错误,说我的库 google 未定义???
我的 karma.conf.js 文件
我已经尝试过谷歌,但到目前为止还没有运气。我试过制作一个测试文件并定义谷歌本身。任何帮助表示赞赏
angularjs - AngularJS 从同一个模块中的另一个函数调用模块中定义的函数
给定一个 AngularJS 模块,其中定义了两个函数,functionA 和 functionB。如何从函数B调用函数A?
angularjs - AngularJS 模块和外部控制器
我有一个包含多个容器的页面。每个容器都有自己的控制器,但指向一个工厂,该工厂处理与 Web 服务 API 交互的所有逻辑。我想为每个控制器创建一个单独的文件,但我希望所有这些都在一个模块中。在我的一生中,我找不到如何将不同文件中的控制器包含到一个模块中。
该模块将由三个单独的文件中定义的 MyController、MyOtherController 和 MyFactory 组成。有人可以帮助解决这个问题或为我指出一个好的资源吗?谢谢!
javascript - 在AngularJS模块中包装javascript类并注入角度服务的正确方法
在我正在开发的 AngularJS 模块中,我有一个Canvas
类定义为:
现在,Canvas
该类永远不会从模块内部实例化,而是从 AngularJS 控制器实例化,如下所示:
到目前为止,一切都像一个魅力。但是后来我意识到我需要$q
画布对象中的服务,并且由于我不想将其注入我的控制器然后将其传递给Canvas
构造函数,所以我想像这样修改我的模块:
初始console.log
正确地记录了$q
服务和Canvas
的原始参数,element
并且options
,但在调用其init
方法时中断:
TypeError: undefined is not a function
我想那是因为this
不再是匿名函数的实例,Canvas
而是匿名函数的实例function(q) {...}
。
关于如何Canvas
使用该属性实例化新对象q
并仍然保留类的方法的任何提示?
编辑
我稍微修改了我的代码,以便更好地了解我想要实现的目标:
如果我取消注释第一个工厂,console.log
yield true false
,而第二个工厂 yield false true
。我的目标是 get true true
,这意味着它this
实际上是Canvas
该类的一个实例并定义了q
属性。非常感谢任何提示。
angularjs - AngularJS:从单独的模块路由到控制器
我正在尝试模块化我在现有 angular.js 应用程序中开发的功能。
我已经为这个特性的所有不同部分创建了命名空间模块,我们abc
在这里称之为特性。
我在我的 index.html 中引用了所有这些 .js 文件,我正在使用angular.js v1.3.0-beta6
我遇到的问题是,当我尝试在/abcs/findabcs
.
这是我的错误Error: [ng:areq] Argument 'abcController' is not a function, got string
我想用这些模块化组件来完成的事情是不是用角度根本不可能实现的?
我在各个地方看到了对更模块化应用程序(odeToCode、stackoverflow、stackoverflow、类似的 jsfiddle)的引用,我希望在父模块(`s1.abc1 )中使用 $routeProvider 路由来重现这种风格。
更新:
我现在意识到我的错误在哪里。我试图结合控制器/指令声明函数的两种特性/样式。
不正确
正确的
函数名abcControllerInit
不应作为带有依赖项的字符串传递。