Watch Checkbox

by Rob Rothe

HTML

<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<div ng-app="app" class="container">
  <div ng-controller="Controller1 as ctrl">
    <input type="checkbox" ng-model="ctrl.boolean" ng-click="ctrl.watchBoolean()"> Click Me
  </div>
</div>

CSS

body {
  padding-top: 20px;
}

JavaScript

angular
  .module('app', [])
  .controller('Controller1', Controller1);

function Controller1($location) {
  var vm = this;
	vm.boolean = false;
  vm.watchBoolean = function() {
  	var decision = (vm.boolean !== false) ? newPage() : dialog();
  }
  
  function newPage() {
  	$location.path('/page');
  }
  
  function dialog() {
  	alert('Open dialog');
  }
}