angularJS缓存的管理

在Angular里面,services作为单例对象在需要到的时候被创建,只有在应用生命周期结束的时候(关闭浏览器)才会被清除。而controllers在不需要的时候就会被销毁了。

这里指的不会消失是指 services原始保留的数据和方法
例:
var module = angular.module( "my.module", [] );
  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;
}]);
这个server里的  Book. books里的数据 和  addBook 方法刷新是不会消失的

接着我们定义一个指令往 book.books里添加一些数据
module.directive( "addBookButton", [ 'Book', function( Book ) {
    return {
        restrict: "E,A",
            link: function( scope, element, attrs ) {
            element.bind( "click", function() {
                Book.addBook( { title: "Star Wars", author: "George Lucas" } );
                
            });
        }
    }
}]);
<div add-book-button>点击新增</div>
点击新增时在  Book.addBook里增加了  { title: "Star Wars", author: "George Lucas" }
用ng-controller 可以循环读取数据可以读出来,但 这时候刷新页面  server只会保留原来的 Book. books里的数据 和  addBook 方法 新增的数据不会保存
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值