angular.jsをやってみる (5) - provider -

2014-03-16T00:00:00+00:00 angular.js JavaScript

http://docs.angularjs.org/guide/providers な辺りのドキュメント見つつやってみた

index.html

<!DOCTYPE html>
<html ng-app="app">
  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.2/angular.min.js"></script>
  </head>
  <body>
    <div ng-controller="SampleController"></div>
    <script src="app.js"></script>
  </body>
</html>

app.js

var Sample = (function() {

  function Sample(name) {
    this.name = name;
  }

  Sample.prototype.say = function() {
    alert(this.name);
  };

  return Sample;

})();

angular.module("app", [])
  .provider("sample", function() {
    this.name = "Sample";
    this.$get = function() {
      return new Sample(this.name);
    };
  })
  .config(["sampleProvider", function(sample) {
    sample.name = "hoge";
  }])
  .controller("SampleController", function(sample) {
    // hogeがalertされる
    sample.say();
  });

providerをconfigする場合にはproviderで指定した名称+Providerで指定する。今回はsampleっていう名称でprovider定義しているのでsampleProviderでconfigを利用すればインスタンス生成後?などによる設定が可能。でそのインスタンス生成に関してはprovider内の$getを実装する事で可能

んまぁserviceとかfactoryは後日やる予定なのでそれに関係するとこはとりあえずパス

angular.jsをやってみる (6) - service - angular.jsをやってみる (4) - filter -