AngularJS的Amplitude服务没有作为单子行事
我最近发布了一个类似的问题,但这不是重复. 对代码重型帖子表示歉意,但我想提供尽可能多的上下文.我在定义分析工具"振幅"作为我的Angular.js应用程序中的服务方面存在问题.服务应该在整个应用程序( source )中充当单例.很困惑地获得以下行为. 在我的 app.js 文件中,我在.lun函数中调用AmplitUdeService.logevent('event_name'),该功能成功地将事件记录到振幅中. 注意: console.log(amplitudeService)在此处返回具有所有正确功能的对象. 但是,当我在任何其他控制器中调用AmplitUdeService.logevent('event_name')时,例如 header.js.js ,我从未在振幅仪表板上看到任何数据. 注意: console.log(amplitudeService)在 header.js 中返回一个相同的对象,从 app.js 都会感谢任何洞察力! P.S.官方的 Amp
4 2024-01-26
编程技术问答社区
如何让控制器等待承诺从angular服务中解决?
我有一项服务,该服务正在向后端提出AJAX请求 服务: function GetCompaniesService(options) { this.url = '/company'; this.Companies = undefined; this.CompaniesPromise = $http.get(this.url); } 控制器: var CompaniesOb = new GetCompanies(); CompaniesOb.CompaniesPromise.then(function(data){ $scope.Companies = data; }); 我希望我的服务能够处理".然后"功能,而不必在控制器中处理它,并且我希望能够将我的控制器对服务的数据进行操作,因为服务内部的承诺已有服务.已解决. 基本上,我希望能够这样访问数据: var Companie
2 2024-01-21
编程技术问答社区
AngularJS中的JSONP请求不像在jQuery中那样工作
我想用Angularjs的$ HTTP服务请求Dailymotion API,但它似乎不像JQuery中的工作. var url = 'https://api.dailymotion.com/videos?fields=id,audience,onair&ids=xzttq2_c,xrw2w0'; 使用jquery 请求 jQuery.ajax({ type: 'GET', url: url, dataType: 'jsonp', success: function(data) { console.log('Success', data); }, error: function(data) { console.log('Error', data); } }); 结果 使用jQuery,这很好.我不必使用回调. Success Object {page: 1, limit: 10, explicit: false,
2 2024-01-16
编程技术问答社区
用RxJS将数据从AngularJS服务返回给控制器
我正在使用Web插座连接到服务器. 我正在调用控制器的服务. 该请求将转到服务器,并且响应又回到了App.js文件中的服务. 现在我需要控制器文件中的响应. 任何人都可以帮助我如何将app.js的响应从提出请求的地方发送到控制器. app.js app.factory('MyService', ['$rootScope', function($rootScope) { var Service = { }; // Create our websocket object with the address to the websocket var ws = new WebSocket("Server_URL"); ws.onopen = function(){ console.log("Socket has been opened!"); }; ws.onmessage = function
0 2023-12-02
编程技术问答社区
创建常见的控制器功能
如何创建所有控制器可以访问的Utils捆绑包? 我在我的主模块中有此路由代码: 'use strict'; angular.module('lpConnect', []). config(['$routeProvider', function($routeProvider) { $routeProvider. when('/home', {template: 'views/home.html', controller: HomeCtrl}). when('/admin', {template: 'views/admin.html', controller: AdminCtrl}). when('/connect', {template: 'views/fb_connect.html', controller: MainAppCtrl}). otherwise({redirectTo: '/con
6 2023-11-29
编程技术问答社区
在AngularJS服务中注入一个模拟程序 [...]
我正在使用一些来自多个页面的RESTFUL服务的数据. 因此,我正在使用角工厂.因此,我需要从服务器中获取一次数据,并且每次我使用该定义的服务获取数据.就像全球变量一样.这是样本: var myApp = angular.module('myservices', []); myApp.factory('myService', function($http) { $http({method:"GET", url:"/my/url"}).success(function(result){ return result; }); }); 在我的控制器中,我使用此服务为: function myFunction($scope, myService) { $scope.data = myService; console.log("data.name"+$scope.data.name); } 根据我的要求对我有效. 但是这里的问
12 2023-11-26
编程技术问答社区
在AngularJS中使用Jasmine对控制器中的服务进行单元测试
在我的控制器中,我定义了以下服务: CrudService.getAllGroups().$promise.then( function (response) { $scope.groups = response; }, function (error) { //error code.. } ); 好吧,我想测试此服务是否得到响应.首先,在测试脚本中,我定义了一个函数来检查该服务是否已定义. 测试代码: describe('Ctrl: TestCtrl', function () { beforeEach(module('testApp')); var scope, CrudService, ctrl, backend; beforeEach(inject(function ($controller, $rootScope, _CrudService_, $httpBacke
8 2023-11-07
编程技术问答社区
如何用Jasmine为$resource定义测试(AngularJS)。
我想为我的Angular应用程序定义测试,但我不知道如何使用,因为这是我第一次编写测试. 但是,对于我来说,使用茉莉花在我的应用程序中进行休息服务很重要.好吧,我的问题是如何测试获取请求.我在茉莉花站点,并在那里阅读了样本.但这只是一个测试,是否正确编写了URL. 我的目的是检查我是否会收回响应数据?那可能吗?同样在Angular Doc中写道,对于$ resource来说,建议使用$ httpbackend.这就是为什么我有点困惑开始定义测试的原因. 首先我的服务: resService: testApp.factory('ResService', ['$resource', 'baseUrl', function ($resource, baseUrl) { return { group: $resource(baseUrl + '/api/qr_group/:Id', {
16 2023-11-07
编程技术问答社区
单元测试AngularJS和PouchDB服务
我正在尝试单元测试我的各个角度工厂,但是很难正确模拟和注入pouchdb对象.我的工厂代码目前如下: factory('Track', [function() { var db = new PouchDB('tracks'); var resource = { getAll: function() { return db.allDocs({include_docs: true}); } return resource; }]); 我试图使用Angular的$提供服务来注入模拟袋子实例,没有运气: module(function($provide) { $provide.value('PouchDB', { allDocs: function() { return 'MOCKED'; } }); 我不确定从这里去哪里.任何
4 2023-11-07
编程技术问答社区
AngularJS在服务测试中注入服务模拟值
我一直试图测试一段时间以来无济于事,并希望提供一些帮助.这是我的情况: 我有一个服务看起来有点像这样 myModule.factory('myService', ['$rootScope', '$routeParams', '$location', function($rootScope, $routeParams, $location) { var mySvc = { params: {} } // Listen to route changes. $rootScope.$on('$routeUpdate', mySvc.updateHandler); // Update @params when route changes mySvc.updateHandler = function(){ ... }; ... ... return mySvc; }]); ,我想在将服务注入我的测试之前嘲笑注入'myServic
10 2023-11-07
编程技术问答社区
_servicename_中的下划线在AngularJS测试中是什么意思?
在下面的示例测试中,原始提供商名称为ApiendpointProvider,但是对于注入和服务实例化,该约定似乎必须注入下强调.为什么是? 'use strict'; describe('Provider: APIEndpointProvider', function () { beforeEach(module('myApp.providers')); var APIEndpointProvider; beforeEach(inject(function(_APIEndpointProvider_) { APIEndpointProvider = _APIEndpointProvider_; })); it('should do something', function () { expect(!!APIEndpointProvider).toBe(true); }); }); 我错过了更好的解释? 解决方案 下划线是
2 2023-11-07
编程技术问答社区
类型脚本和AngularJS-静态方法与服务
tl; dr:静态基本功能,与Angular无能为力 - 作为AngularJS服务与普通静态静态类导出的类/方法? 长版本:我已经在TS中编程了大约一个月,因为我们正在重构应用程序与TS合作(准备Angular 2.0). 当我开始浏览我们的一些基本角度服务时,我在思考 - 由于实现静态类和方法非常容易 - 也许我们的某些服务根本不应该是服务. 当然,与Angular有关的任何功能都必须以某种方式作为服务实现. 例如,ColorConverter或ColorPicker-如今,我们应用程序中的AngularJS服务实现了静态逻辑不会改变或与Angular或任何共享外部资源有关的静态逻辑 - 可以轻松地用导出静态功能的静态模块替换. 一个论点是,我办公室中提出了Angular Services的人是,稍后我们可以轻松嘲笑这种逻辑.但是,为什么我要模拟不变且无法访问任何外部资源的静态逻辑呢? 一分钱你的想法. 解决方案 Java或其他语言中的问题是相同的.静态方法很难扩展并嘲
4 2023-11-01
编程技术问答社区
AngularJS和Typescript注入服务
我已经编写了Angularjs应用程序已有一段时间了,但是Typescript对我来说是新的,然后将AngularJS添加到Typescript与我用过的. . 无论如何,两者之间有什么区别: app.service('customerDataService', Application.Services.CustomerDataService); 和 app.service('customerDataService', ['$http', '$q', Application.Services.CustomerDataService]); 控制器TS module Application { export module Services { export interface ICustomerDataService { getCustomer(id: number): ng.IPromise
8 2023-11-01
编程技术问答社区
如何使用TypeScript类定义AngularJS服务,而不污染全局范围?
我正在使用AngularJS和打字稿.我想使用打字稿类实现AngularJS服务,例如: class HelloService { public getWelcomeMessage():String { return "Hello"; } } angular.module('app.services.helloService', []).factory('helloService', () => { return new HelloService(); }); 此编译为以下JavaScript代码: var HelloService = (function () { function HelloService() { } HelloService.prototype.getWelcomeMessage = function () { return "Hello"; }; re
8 2023-10-31
编程技术问答社区
Angularjs-Restangular在工厂/服务内的调用
我正在使用factory如下: var appModule = angular.module('appModule', ['ngRoute','restangular']); appModule .config(['$routeProvider', function($routeProvider) { $routeProvider .when('/home', { templateUrl: 'home.html', controller: 'ngHomeControl' }) .when('/contacts', { templateUrl: 'contacts.html', controller: 'ngContactControl' }); }]); appModule .factory('testFactory', function te
10 2023-08-22
编程技术问答社区
我可以在一个服务中动态创建的嵌套对象中设置该服务的this.'something'吗?(也许是范围问题)
我有以下服务(实际上它具有更多的级别和元素,但我将其修剪为一个我想要工作的一个示例).它根据app.data文件夹中的CSV文件,在其他对象中创建JavaScript对象.与此问题最相关的线是this.images = images;循环内部最大之后. app.service('tabInfoService',function(csvService, tabsService ){ var tabData = tabsService.tabData; var tabCount = tabsService.tabCount; this.tabs={}; this.images={}; var tCounter = 0; //for loop creates a big object literal with more object literals inside of it for (tCounter=0; tCounte
8 2023-08-22
编程技术问答社区
如何在我的angularjs页面中访问来自RESTful API的服务?
我对Angularjs非常新.我正在寻找从Restful API中访问服务,但我没有任何想法.我该怎么做? 解决方案 选项1:$ HTTP服务 angularjs提供 $http服务 AJAX请求Web服务并使用JSON接收数据(这完全用于与REST服务交谈). 举一个例子(取自AngularJS文档并稍微改编): $http({ method: 'GET', url: '/foo' }). success(function (data, status, headers, config) { // ... }). error(function (data, status, headers, config) { // ... }); 选项2:$资源服务 请注意,Angularjs中还有另一项服务, $resource服务以更高级别的方式提供对REST服务的访问(示例再次从AngularJS文档中获取): var Us
4 2023-08-10
编程技术问答社区
设计AngularJS服务的更好方法
我正在编写一个将与REST服务器交互的AngularJS客户端应用程序. 要管理客户端/服务器互动,我正在使用 $ resource 抽象. 实际上,我正在将每个资源写为一个分开的服务将使用它的控制器. 我已经开始使用 angularjs-seed ,所以在我的分离文件我有越来越多的服务: angular.module('testReqService', ['ngResource']). factory('TestReq', function($resource){ return $resource('http://test-url.com/api/test', {}, {}); }); angular.module('registerService', ['ngResource']). factory('Register', function($resource){ return $resource('http://test-url.c
2 2023-08-10
编程技术问答社区
在使用couchpotato注册的工厂中使用angularjs服务($cookies)。
我正在将AngularJs与Couchpotato一起使用,以帮助懒惰.我的问题是,我如何参考$ http,$ cookie在我的服务中使用couchpotato注册的$ cookie? 正常的AngularJS方式: factory('MyService', function($cookies) { $cookies.message = "hello"; }); 如何使用couchpotato.js的angularjs进行上述? 以下是我在Couchpotato的服务: define(['app'], function(app) { app.couchPotato.registerFactory(['myFactory', [ function() { var factory = {}; factory.registerCookie = function(){ $cookies.me
38 2023-08-08
编程技术问答社区