
var module = angular.module('my.new.module', [])// 这里的第二个空数组参数一定要有
下一步,我们来创建一个新的service(服务)。假设我们上面的这个module是用来管理图书的。所以,这里我们来创建一个Book Service,然后把一个JSON对象数组添加到这个service中。
module.service('Book', [
'$rootScope',
function($rootScope) {
var service = {
books: [{
title: 'Magician',
author: 'Raymond E, Feist'
}, {
title: 'The Hobbit',
author: 'J.R.R Tolkien'
}],
addBook: function(book) {
service.books.push(book)
$rootScope.$broadcast('books.update')
}
}
return service
}
])
AngularJS是一款非常强大的前端MVC框架。同时,它也引入了相当多的概念,这些概念我们可能不是太熟悉。(译者注:老外真谦虚,我大天朝的码农对这些概念那是相当熟悉啊!)这些概念有:Directive(指令)
Controller(控制器)
Service (服务)
我们首先来创建一个module(模块),本文中的所有代码都会用到这个module。
var module = angular.module( "my.new.module", [] )
下一步,我们来创建一个新的service(服务)。假设我们上面的这个module是用来管理图书的。所以,这里我们来创建一个Book service,然后把一个JSON对象数组添加到这个serice中,这些对象代表很多book数据。
module.service( 'Book', [ '$rootScope', function( $rootScope ) {
var service = {
books: [
{ title: "Magician", author: "Raymond E. Feist" },
{ title: "The Hobbit", author: "J.R.R Tolkien" }
],
addBook: function ( book ) {
service.books.push( book )
$rootScope.$broadcast( 'books.update' )
}
}
return service
}])
0,把service中的数据传给组件:1, 创建Service.ts file
--所有需要维护的数据
--一个数据对应一个EventEmitter
--对数据的set,get或其他 *** 作
2,创建trigger component 该文件用于关联html和ts中的emit,html中绑定了onSetToActive方法,在onSetToActive方法中调用service中的event。
3,trigger事件被创建, 接下来创建listen方法监听。
用对应EventEmitter的subscribe方法监听,在subscribe方法中写监听到后,具体对service数据的 *** 作,一般这个 *** 作是写在service.ts中。
备注:
有关service的dependecy inject
1,创建service
2,引入module(import),引入provider,在construc中引入(别忘加private)
3,引入module(import),在construc中需要每用到一次都引入,但providers只要在最顶层引入即可(子组件都可以用)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)