Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html ng-app="app">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
  <body ng-controller="MainCtrl">
    public variable: {{foo.variable}}
    <br />
    private variable (through getter): {{foo.getPrivate()}}
  </body>
</html>
 
app = angular.module("app", []);
app.controller('MainCtrl', function($scope, foo) {
  $scope.foo = foo;
});
app.provider('foo', function() {
  
  var thisIsPrivate = "Private";
  return {
    
    setPrivate: function(newVal) {
      thisIsPrivate = newVal; 
    },
    
    $get: function() {
      function getPrivate() {
        return thisIsPrivate;
      }
  
      return {
        variable: "This is public",
        getPrivate: getPrivate
      };
    } 
    
  };
});
app.config(function(fooProvider) {
  fooProvider.setPrivate('New value from config');
});
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x