Rumah > Soal Jawab > teks badan
刚开始学习,想用angular+ionic写一个页面切换的效果。
点击page1中的一个图片,页面切换为page2。
因为页面太多不想写那么多html,所以使用ng-show。
代码如下:
html:
<body ng-controller="binder">
<!-- page1 -->
<p ng-show="controller.page('home')">
<p class="content">
<button class="item item-image" ng-click="controller.switch('myDevice')">
<img src="img/choose_mine.png">
</button>
</p>
</p>
<!-- page2 -->
<p ng-show="controller.page('myDevice')">
<ion-content style="background-color: rgb(235,237,240)">
<a class="item item-image" href="#" style="margin: 5px 5px 7px 5px">
<img src="img/choose_D1.png">
</a>
</ion-content>
</p>
<script src="bower_components/ionic/release/js/ionic.bundle.js"></script>
<script src="bower_components/angular-route/angular-route.js"></script>
<script src="bower_components/angular-animate/angular-animate.js"></script>
<script src="app.js"></script>
</body>
js:
var bindDevice = angular.module('bind',['ionic']);
bindDevice.controller('binder',function () {
var self = this;
self.indexPage = 'home';
self.page = function (page) {
return page == self.indexPage;
};
self.switch = function (index) {
self.indexPage = index;
};
})
不知道哪里出了问题,运行效果是页面闪现一下然后就消失了。
本人小白,希望大神们能够帮忙看看,感激不尽。
PHP中文网2017-04-11 12:51:53
既然是var self = this
, 首先ng-controller
最好写为ng-controller="binder as self"
.
其次,controller
里的scope变量
应该写为 self.xxx
, 所以你的ng-show
应该写成 ng-show="self.page('xxx')"