angularjs 子模块实战例子 (切换效果)
2016-09-07 18:10
302 查看
在工作中,创建了一个子模块,但是页面切换的时候,发现没有切换效果了,看了ionic官网的demo,然后自己模仿着写一个例子,提供给自己学习。
一、app入口,加载angularjs 插件,并配置state(状态)和显示位置
备注:
.state('index.son2', {
url: '/son2',
cache: !0,
views:{
storeViewContent:{
templateUrl: 'son2.html',
controller:function(){
// alert("storeViewContent");
}
}
}
})
中的“storeViewContent” 代表的是<ui-view></ui-view>的名字,不同的名字,代表了不同的视图组件,用它来区分不同的模块。
二、parent.html
当前页面是一个模板(abstract)页面,将内容分为多个子模块,这里使用了ion-tabs指令
ion-nav-view 分别为 homeViewContent 和 storeViewContent
三、son1.html
该页面是在 parent.html 页面的ion-nav-view为 homeViewContent 控件中显示
四、son2.html
该页面是在 parent.html 页面的ion-nav-view为 storeViewContent 控件中显示
五、son1_1.html
该页面是在 parent.html 页面的ion-nav-view为 homeViewContent 控件中显示
六、son1_2.html
该页面是在 parent.html 页面的ion-nav-view为 homeViewContent 控件中显示
son1.html 、 son1_1.html 、son1_2.html都是在parent.html 页面的ion-nav-view为 homeViewContent 控件中显示,这三个页面属于同一个模块,三个页面之间的切换会有切换效果,但是如果切换到storeViewContent 是没有切换效果的。
son2.html属于单独的一个模块,如果切换到ion-nav-view为 homeViewContent 控件中,是没有切换效果的。
abstract_module.rar (1.6 KB)
下载次数: 0
一、app入口,加载angularjs 插件,并配置state(状态)和显示位置
<!DOCTYPE html> <html ng-app="myApp"> <head> <meta charset="UTF-8"> <meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no,width=device-width,height=device-height"> <!--<script src="public/js/jquery.js"></script>--> <script src="../../public/ionic/js/ionic.bundle.min.js"></script> <link rel="stylesheet" type="text/css" href="../../public/ionic/css/ionic.min.css"> </head> <body ng-controller="myCtrl"> <!--<ion-nav-view></ion-nav-view>--> <ui-view></ui-view> </body> </html> <script> angular.module('myApp', ['ionic']) .config(function ($stateProvider, $ionicConfigProvider) { //禁用所有缓存 $ionicConfigProvider.views.maxCache(0); $stateProvider //编辑用户姓名 .state('index', { url: '/index', abstract:true, templateUrl: 'parent.html' }) .state('index.son1', { url: '/son1', cache: !0, views:{ homeViewContent:{ templateUrl: 'son1.html', controller:function(){ // alert("homeViewContent"); } } } }) .state('index.son1_1', { url: '/son1_1', cache: !0, views:{ homeViewContent:{ templateUrl: 'son1_1.html', controller:function(){ // alert("homeViewContent"); } } } }) .state('index.son1_2', { url: '/son1_2', cache: !0, views:{ homeViewContent:{ templateUrl: 'son1_2.html', controller:function(){ // alert("homeViewContent"); } } } }) .state('index.son2', { url: '/son2', cache: !0, views:{ storeViewContent:{ templateUrl: 'son2.html', controller:function(){ // alert("storeViewContent"); } } } }) }) .controller('myCtrl', function($scope,$state,$q,$http){ $state.go("index.son2"); }) </script>
备注:
.state('index.son2', {
url: '/son2',
cache: !0,
views:{
storeViewContent:{
templateUrl: 'son2.html',
controller:function(){
// alert("storeViewContent");
}
}
}
})
中的“storeViewContent” 代表的是<ui-view></ui-view>的名字,不同的名字,代表了不同的视图组件,用它来区分不同的模块。
二、parent.html
当前页面是一个模板(abstract)页面,将内容分为多个子模块,这里使用了ion-tabs指令
ion-nav-view 分别为 homeViewContent 和 storeViewContent
<ion-tabs class="tabs-icon-top"> <ion-tab title="son1" icon-on="iconfont icon-homefill" icon-off="iconfont icon-home" ui-sref="index.son1"> <ion-nav-view name="homeViewContent"></ion-nav-view> </ion-tab> <ion-tab title="son2" icon-on="iconfont icon-tagfill" icon-off="iconfont icon-tag" ui-sref="index.son2"> <ion-nav-view name="storeViewContent"></ion-nav-view> </ion-tab> </ion-tabs>
三、son1.html
该页面是在 parent.html 页面的ion-nav-view为 homeViewContent 控件中显示
<div>son1</div> <a ui-sref="index.son1">index.son1</a> <br> <a ui-sref="index.son1_1">index.son1_1</a> <br> <a ui-sref="index.son1_2">index.son1_2</a>
四、son2.html
该页面是在 parent.html 页面的ion-nav-view为 storeViewContent 控件中显示
son2
五、son1_1.html
该页面是在 parent.html 页面的ion-nav-view为 homeViewContent 控件中显示
<div>son1_1</div> <a ui-sref="index.son1">index.son1</a> <br> <a ui-sref="index.son1_1">index.son1_1</a> <br> <a ui-sref="index.son1_2">index.son1_2</a>
六、son1_2.html
该页面是在 parent.html 页面的ion-nav-view为 homeViewContent 控件中显示
<div>son1_2</div> <a ui-sref="index.son1">index.son1</a> <br> <a ui-sref="index.son1_1">index.son1_1</a> <br> <a ui-sref="index.son1_2">index.son1_2</a>
son1.html 、 son1_1.html 、son1_2.html都是在parent.html 页面的ion-nav-view为 homeViewContent 控件中显示,这三个页面属于同一个模块,三个页面之间的切换会有切换效果,但是如果切换到storeViewContent 是没有切换效果的。
son2.html属于单独的一个模块,如果切换到ion-nav-view为 homeViewContent 控件中,是没有切换效果的。
abstract_module.rar (1.6 KB)
下载次数: 0
相关文章推荐
- 出色的html滑动效果库 swiper -例子1 横向滑动,结束自动切换回第一栏
- Android实战—实现自动读取通讯录和通话记录切换,ViewPage滑屏效果,可拨打电话
- angularjs实现原生APP页面切换效果
- 4000 通过AngularJs实现Tab选项卡切换效果
- 原生JS实现移动端模块的左右滑动切换效果,基于vue、stylus
- 像QQ-tab切换效果的例子
- AngularJS实际项目应用——动态模块切换设计
- angularJs项目实战!01:模块划分和目录组织
- angularJs项目实战!01:模块划分和目录组织
- Android实战简易教程-第二十六枪(基于ViewPager实现微信页面切换效果)
- Android实战简易教程-第二十六枪(基于ViewPager实现微信页面切换效果)
- AngularJS2中一种button切换效果的实现方法(二)
- Jqeury Mobile实战之切屏效果以及屏幕滚动到底端加载更多和点击切换更多
- 《JavaScript 实战》:JavaScript 图片滑动切换效果
- 14讲项目实战内页抽出切换效果的实现
- web实战(三)— — Tab选项卡切换效果
- AngularJS效果-包括输入框的设置和Tab栏切换(ng-class控制)
- h5用swiper结合angularjs实现手机浏览器左右滑动切换图片的效果
- Android实战简易教程-第二十六枪(基于ViewPager实现微信页面切换效果)
- Jqeury Mobile实战之切屏效果以及屏幕滚动到底端加载更多和点击切换更多