Angular: Directive Scope Binding

http://angularjs.org/

by HyunSeob Lee

HTML

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>
<div ng-controller="myCtrl">
  <text-box on-submit="submit(text, len)"></text-box>
  <text-box on-submit="submit(text, len)"></text-box>
</div>

CSS

div {
  color: white;
}

text-box {
  display: block;
}

JavaScript

var myApp = angular.module('myApp', []);

myApp.controller('myCtrl', ['$scope', function ($scope) {
  $scope.submit = function (text, len) {
  	alert(text + ', ' + len);
  };
}]);

myApp.directive('textBox', function() {
  return {
    restrict: 'E',
    scope: {
    	onSubmit: "&"
    },
    template: '<input type="text" ng-model="value"/><button type="submit" ng-click="onSubmit({ text: value, len: value.length })">Submit!</button>'
  }
});