问题标签 [angular-factory]
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 - 无法使用 Angular.js 调用工厂方法
尝试使用 Angular.js 调用工厂方法时出现一些错误。我在下面解释我的代码。
错误:
我的控制器端代码如下。
在这里,我在调用函数(i.e-hoverIn,hoverOut
)时遇到错误。请帮我解决这个错误。
angularjs - 提供者 'kk' 必须从 $get 工厂方法返回一个值
一年半前,我编写了一个 Angular 应用程序,它使用它authSrv
在我的后端使用 API 登录和注销用户,并且运行良好。我只是试图再次运行相同的代码,我得到了Error: [$injector:undef] Provider 'authSrv' must return a value from $get factory method.
这是我的authSrv
(工厂)代码:
为什么我现在得到错误而不是那时?有什么改变吗?
javascript - 在 angularjs 中创建登录应用程序
我是 angularjs 的新手,并试图在 angularjs 中创建一个登录应用程序,其中流程应如下所示: 1.当用户输入userneme
并password
按下输入按钮时,它应该被重定向到dashboard page
.
如果用户按下浏览器的后退按钮,它不应该再次进入登录页面。它应该
redirected to login page
只有logout button
被按下。这样
store
,credentials in cookies
如果用户hitting same url
在different tab
,它应该dashbord
通过检查直接打开stored cookies
。
我 js code
的情况如下,first two condition
我上面提到的实现了。但third one
我到现在都无法做到。
angularjs - 如何在不使用离子框架的情况下防止在用户登录并点击浏览器后退按钮后显示登录页面
我是 angularjs 平台的新手。我正在创建一个log-in application
. 我面临一个问题,所有事情都正常,但陷入管理,如果用户已经登录并尝试在不同的选项卡中打开相同的 url,它会将用户直接重定向到dashbord page(dashboard.html)
,但是当我按下时browser back button
,而不是去上一个页面,它打开login page(login_admin.html)
。场景如下:
localhost:8080 --> 它打开 --> login_admin.html(已实现)。
输入凭据并提交->打开->dashboard.html(已实现)。
在不同的选项卡中输入相同的 url(localhost:8080)(假设以前打开 facebook.com)---> 打开 --> dashbord.html(已实现)。
在按下浏览器后退按钮时
facebook.com
,它会打开 login_admin.html(未解决),而不是 go。请提出一些解决方案。
我的js代码如下:
angularjs - JavaScript 运行时错误:Angular Js 中的 [$injector:modulerr]
我正在通过 ui-router、Factory 和 Directive 实现逻辑,但出现错误:JavaScript 运行时错误:Angular Js 中的 [$injector:modulerr]。
UI 路由工作正常。
索引.html 文件:
EmpApp.js
ListEmp.html:
雇主控制器
获取数据服务.js
现在所有错误都消失了,但数据没有出现。
简而言之:控制器:
};
服务:
Àpp.js
HTML:
javascript - AngularJS $resource 中的未知提供者
我收到了臭名昭著的未知提供者错误,并在这里查看了所有可能的答案,但我认为我遗漏了一些东西:
应用程序.js
项目.js
项目服务.js (1)
替代ItemService.js (2)
在我的控制器中:
因此,如果我在(1)中尝试,我会得到 undefined.delete is not a function in
itemService
。如果我在(2)中尝试,应用程序无法加载:
Unknown provider: ItemProvider <- Item <- itemService
那么我做错了什么?
angularjs - angularjs工厂的Jasmine 2.0单元测试
我是为 angularJS 工厂编写 jasmine 测试用例的新手。我想测试整个工厂,但我无法获取getKeys
. 这里是我的工厂。
我的工厂是:
我的单位规格是:
错误是
错误:[$injector:modulerr] 无法实例化模块 TestModule,原因是:错误:[$injector:modulerr] 无法实例化模块 ui.bootstrap,原因是:错误:[$injector:nomod] 模块 'ui.bootstrap' 不是可用的!您要么拼错了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。
angular - Angular 创建提供者的命名实例
在 Angular 中,我有一个访问缓存的服务。该服务大致是这样工作的(但有更多的异步行为)。
现在我有一些这样的服务想UserService
有一个Cache
对应的new Cache('user');
。另一个名为的服务ImageService
应该与Cache
对应的实例一起使用new Cache('image');
为此,我想创建一个工厂来提供这些:
我将如何注册和使用这些服务?据我所知,他们都注册为“ Cache
”。
(这与我的另一个问题有关)
javascript - 如何在注入前更改Angular工厂以解决
MapProvider
我有一个使用这样的现有应用程序:
此 MapProvider 在整个应用程序中广泛使用,并被注入到各种其他控制器和服务中(正确或错误)。
我现在需要添加一个BaiduMapsService
,我已经能够使用它作为测试:
并相应地翻转if
值。(这两个服务都使用 TypeScript 接口,因此具有相同的方法)。现在,我需要添加$http
对 API 的调用,它将根据提供的数据返回要使用的地图。如何使我的工厂异步,而不必将所有MapProvider.someCallHere()
调用更改为MapProvider.then(m => m.someCallHere())
.
理想情况下,当MapProvider
在我的应用程序中注入时,它将能够使用异步数据(仅一次)解析,然后注入必要的服务。
或者,有没有办法推迟/延迟加载 Angular,直到我进行 API 调用并在某处设置一些全局数据?
谢谢。
angularjs - 什么时候调用 AngularJS 拦截器?
我正在尝试使用此链接上的大致配方创建 AngularJS 拦截器 - https://thinkster.io/interceptors
我的代码如下 -
tokenInterceptor 函数中的代码仅在 factory.config.run 中的 $http.get(' http://127.0.0.1:8082/customURL.htm ') 调用被执行时运行。发出任何 HTTP 请求时,如何使代码运行?- 例如,当执行此页面上的 google 链接时 -