angularJS 中 factory


factory是angular里的一種service

angular 里面創建service最簡單的方式是使用factory()方法

 

在service里面當我們僅僅需要的是一個方法和數據的集合且不需要處理復雜的邏輯的時候,factory()是一個非常不錯的選擇

 

factory是一個可注入的function , 它和service的區別就是:factory是普通的function , 而 service是一個構造器,這樣angular在調用service時會使用new關鍵字,而調用factory時只是調用普通的function , 所以factory可以返回任何東西,而service可以不返回,factory可以返回任何東西;

 

<html ng-app="app">
  <head>
    <title></title>
  </head>

  <body>
    <div ng-controller="ProfileController">
      <input type="text" ng-model="profile.user.name">
      <h2 ng-show="!profile.isValid()">
        Username required
      </h2>
    </div>

    <script type="text/javascript" src="angular.js">
    </script>
    <script type="text/javascript">
      var app = angular.module('app', []);

      app.factory('userService', function($timeout) {
        var user = {};
        $timeout(function() {
          user.name = 'Username';
        }, 500);

        return user;
      });

      app.factory('profileService', function(userService) {
        var ret = {
          user: userService,
          isValid: function() {
            return ret.user && ret.user.name;
          }
        };

        return ret;
      });

      app.controller('ProfileController', function($scope, profileService) {
        $scope.profile = profileService;
      });
    </script>
  </body>
</html>

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM