猿问

请问该怎么在angularjs的config中使用service?

怎么在angularjs的config中使用service


胡子哥哥
浏览 1087回答 5
5回答

泛舟湖上清波郎朗

在angularjs的config中使用service的方法:它是一个可注入的构造器,在AngularJS中它是单例的,用它在Controller中通信或者共享数据都很合适var app = angular.module('app' ,[]);app.config(function ($provide) {$provide.service('movie', function () {this.title = 'The Matrix';});});app.controller('ctrl', function (movie) {expect(movie.title).toEqual('The Matrix');});语法糖:app.service('movie', function () {this.title = 'The Matrix';});在service里面可以不用返回东西,因为AngularJS会调用new关键字来创建对象。但是返回一个自定义对象好像也不会出错。

翻过高山走不出你

1.第一种是通过调用Context.startService()启动,调用Context.stopService()结束,startService()可以传递参数给Service2.第二种方式是通过调用Context.bindService()启动,调用Context.unbindservice()结束,还可以通过ServiceConnection访问Service。在Service每一次的开启关闭过程中,只有onStart可被多次调用(通过多次startService调用),其他onCreate,onBind,onUnbind,onDestory在一个生命周期中只能被调用一次。

慕盖茨4494581

可以通过在activity中 设置事件 。当事件出发时 利用intentIntent intent=new Intent(MainActivity.this, ServiceDemo.class);switch (v.getId()){ case R.id.startBtn:startService(intent); 启动break;case R.id.stopBtn:stopService(intent); 停用break;default:break;

杨__羊羊

Service的典型示例在AngularJS中,Service都是单例的实体,通常会将Service作为向后台交互的数据提供者,所有的需要数据的组件只需要依赖于这个Service即可。var app = angular.module('MyApp', []);app.factory('SearchSettingService',['$http', '$q', function($http, $q) {return {setting: function() {var deferred = $q.defer();$http.get('/settings.json').success(function(result) {deferred.resolve(result);}).error(function(result) {deferred.reject("network error");});return deferred.promise;}};}]);$httpBackend测试的时候,我们不需要真实的发送HTTP请求来获取数据。如果可以只测试Service的逻辑,当发送请求时,我们将这个请求拦截下来,然后返回一个预定义好的数据即可:it('should have settings from http request', function() {var result;var expected = {"period": "day","date": "Sat Dec 21 12:56:53 EST 2013",};httpBackend.expectGET('/settings.json').respond(expected);var promise = settingService.setting();promise.then(function(data) {result = data;});
随时随地看视频慕课网APP
我要回答