Javascript Ionic/AngularJs控制器初始化ng初始化不';行不通
一旦记录,我的控制器初始化脚本不会调用: 去 电邮:qa@billiving.com 通行证号码:111111 当要管理帐户时,下拉列表为空。如果刷新(按f5键),将填充列表。然后,如果您进入隐姓埋名或删除缓存并重新加载页面,列表将再次为空 似乎在我的单页应用程序生命周期的后期调用了初始化 这是我的密码:Javascript Ionic/AngularJs控制器初始化ng初始化不';行不通,javascript,angularjs,ionic,Javascript,Angularjs,Ionic,一旦记录,我的控制器初始化脚本不会调用: 去 电邮:qa@billiving.com 通行证号码:111111 当要管理帐户时,下拉列表为空。如果刷新(按f5键),将填充列表。然后,如果您进入隐姓埋名或删除缓存并重新加载页面,列表将再次为空 似乎在我的单页应用程序生命周期的后期调用了初始化 这是我的密码: <ion-view hide-back-button="true" ng-controller="DashboardCtrl" ng-init="Initialize()">
<ion-view hide-back-button="true" ng-controller="DashboardCtrl" ng-init="Initialize()">
<ion-nav-title align-title="center">
<select ng-options="account.Key as account.Name for account in accounts" ng-change="LoadAccount(account)"
ng-model="account.Key">
<option value='' disabled selected>Select Account..</option>
</select>
<a style="cursor: pointer" ng-click="Initialize()">Refresh</a>
</ion-nav-title>
<ion-nav-buttons side="right">
</ion-nav-buttons>
<ion-nav-buttons side="left">
<button class="button button-icon button-clear ion-navicon" menu-toggle="left"></button>
</ion-nav-buttons>
<ion-content class="page page-dashboard is-pad" style="height:100%">
<iframe frameborder="5" class="frm" ng-src="{{trustSrc(url)}}" scrolling="yes"></iframe>
</ion-content>
</ion-view>
我发现了两个问题:
ng init
并直接调用Initialize$state.go('app.dashboard', {}, {reload: true});
希望这能有所帮助尽管这对SPA并不理想,但我最终还是使用了以下方法:
$state.go('app.dashboard');
$window.location.reload(true);
我在使用Ionic时也遇到了同样的问题,那就是ng init在第二次之后将无法工作。这是因为框架中的缓存机制。它在某种程度上也很有用。但在某些情况下,我们可能不需要此功能。当我们应该重新加载整个html页面以使ng init工作时,我们应该在ion视图中使用
cache view=“false”
来禁用该页面的缓存
参考资料:我已经删除了额外的仪表板Ctrl和init函数,但仍然存在相同的问题。我已经上传到服务器,所以你们可以刷新和查看。谢谢重新加载失败,我恢复加载整个页面。无论如何,你把我推向了正确的方向:-)显然,你可以这样禁用缓存:这样你就不需要刷新。。
$state.go('app.dashboard');
$window.location.reload(true);