标题可能有点令人困惑,但我会解释。
我有这个包含动态内容的标题,将在每个页面中显示。所以我为它创建了一个控制器:
.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");
})
我有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>
控制器在body标签中引用:
<body ng-app="ido" ng-controller="HeaderCtrl as HeaderCtrl">
然后我有login.html
,它会在index.html <ion-nav-view>
中重新编号。在这个模板中,我有一个按钮:
<button id="login-button" class="col button button-positive button-small" ng-click="{{HeaderCtrl.ShowHelpButton()}}" ui-sref="main">Login</button>
出于某种原因,只要我加载页面,就会收到以下日志:
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
为什么这么多次被召唤?我甚至没有点击按钮,我不明白它为什么会被调用。