Title might be a little confusing, but I'll explain.
I have this Header with dynamic content that will be displayed in every page. So I created a controller to it:
.controller("HeaderCtrl", function($log) {
    var HeaderCtrl = this;
    HeaderCtrl.HelpButtonVisible = "false";
    HeaderCtrl.HideHelpButton = function() {
        HeaderCtrl.HelpButtonVisible = "false";
        $log.log("HideHelpButton");
    }
    HeaderCtrl.ShowHelpButton = function() {
        HeaderCtrl.HelpButtonVisible = "true";
        $log.log("ShowHelpButton");
    }
    $log.log("HeaderCtrl Initialized");
})
And I have the index.html:
<ion-header-bar class="bar-positive has-tabs-top" align-title="center">
  <h3 class="title">{{}}</h3>
  <button id="help-button" class="button button-stable icon-left ion-information-circled" 
    ng-show="{{ HeaderCtrl.HeaderService.HelpButtonVisible }}" ui-sref="login">Help</button>
</ion-header-bar>   
<!-- Content will be rendered here -->
<ion-nav-view>
</ion-nav-view>
The Controller is referenced in the body tag:
<body ng-app="ido" ng-controller="HeaderCtrl as HeaderCtrl">
Then I have the login.html, which is redered in the index.html <ion-nav-view>. In this template, I have a button:
<button id="login-button" class="col button button-positive button-small" ng-click="{{HeaderCtrl.ShowHelpButton()}}" ui-sref="main">Login</button>
For some reason, as soon as I load the page, I get the following log:
HeaderCtrl Initialized
ionic.bundle.js:19387 ShowHelpButton
ionic.bundle.js:19387 ShowHelpButton
ionic.bundle.js:19387 ShowHelpButton
ionic.bundle.js:19387 ShowHelpButton
(2) ionic.bundle.js:19387 ShowHelpButton
Why is it being called so many times? I didn't even click the button, I don't understand why it's being called at all.