您现在的位置:首页 >> 前端 >> 内容

03ionic+angular开发webapp笔记

时间:2016/12/9 9:40:08 点击:

  核心提示:ionic路由这是一个超级简单的ui-route路由,因为ionic用的是ui-route,而不是angular的ng-router,第三个属于内联模块!DOCTYPE htmlhtml ng-app...

ionic路由

这是一个超级简单的ui-route路由,因为ionic用的是ui-route,而不是angular的ng-router,第三个属于内联模块

<!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" />  
        <link rel="stylesheet" type="text/css" href="lib/ionic/css/ionic.min.css"/>  
        <script src="lib/ionic/js/ionic.bundle.js" type="text/javascript" charset="utf-8"></script>  
        <title></title>  
    </head>  
    <body ng-controller="mycontroller">  
        <button class="button" ui-sref="first">first</button>  
        <button class="button" ui-sref="second">second</button>  
        <button class="button" ui-sref="third">third</button>  
        <p ui-view></p>  
        <script type="text/ng-template" id="third.html">  
            <h1>this is third html</h1>  
        </script>  
    </body>  
    <script type="text/javascript">  
        var app = angular.module("myapp",["ionic"]);  
        app.config(function($stateProvider){  
            $stateProvider.state("first",{  
                templateUrl:"first.html"  
            }).state("second",{  
                templateUrl:"second.html"  
            }).state("third",{  
                templateUrl:"third.html"  
            });  
        });  
        app.controller("mycontroller",function($scope,$state){  
            $state.go("first");  
        });  
    </script>  
</html>

ionic对ui-route进行了封装,

<p ui-view></p>  

修改为

<ion-nav-view></ion-nav-view>  

尽管在模板视图中可以随便写 HTML,但是,在 ionic 中,我们总是使用指令 ion- -w view 来 作

为模板视图内容的容器,这是为了与 ionic 的导航框架保持兼容:

<script id="..." type="text/ng-template">  
<ion-view>  
<!--模板视图内容-->  
</ion-view>  
</script> 

ion- view 指令有一些可选的属性:

view- title - 视图标题文字

模板被载入导航视图 ion- nav-view 显示时,这个属性值将显示在导航栏 ion- - nav- -r bar 中

cache-view - 是否对这个模板视图进行缓存

允许值为:true | false,默认为 true

hide-back-button -是否隐藏导航栏中的返回按钮

当模板被载入导航视图时,如果之前有其他的模板,那么在导航栏 ion-nav-bar 上默认会自动显示返回按钮(使用指令 ion-nav-back-button 定义)。点击该按钮将返回前一个模板。

hide-back-button 的允许值为:true | false ,默认为 false

注意: :必须在导航栏中显式地声明返回按钮,否则即使将hide-back-button属性设为false,

这个按钮也不会出现:-)

hide-nav-bar - 是否隐藏导航栏

允许值为:true | false ,默认为 false

上面属性都是设置ion-nav-bar的,这个是放在容器外面专门显示头部导航栏的

ion-nav-bar 指令用来声明一个居于屏幕顶端的导航栏,它的内容随导航视图 的状态变化

而自动同步变化:

<ion-nav-bar></ion-nav-bar>  

ion-nav-bar 有以下可选的属性:

 align-title 标题对齐方式

允许值为: left | right | center。默认为 center,居中对齐

 no-tap-scroll - 点击导航栏时是否将内容滚动到顶部。

允许值为:true | false。默认为 true,这意味着如果视图中的内容下拉很长,那么在任

何时刻 点击导航栏都可以立刻回到内容的开头部分。

回退按钮 : ion-nav-back-button

ionic 的指令 ion-nav-back-button 指令可以自动地让你回退到前一个视图:

<ion-nav-bar>  
<ion-nav-back-button></ion-nav-back-button>  
</ion-nav-bar>

当视图切换时,回退按钮会自动出现在导航条中,并显示前一个视图 的标题。点击回退按

钮将返回前一个视图。

ion-nav-back-button 定制样式

我们可以定制回退按钮的图标、文本和样式。

现在,我们就可以改成这样~~~~

<!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" />  
        <link rel="stylesheet" type="text/css" href="lib/ionic/css/ionic.min.css" />  
        <script src="lib/ionic/js/ionic.bundle.js" type="text/javascript" charset="utf-8"></script>  
        <title></title>  
    </head>  
  
    <body ng-controller="mycontroller">  
  
        <!--导航框架之导航栏-->  
        <ion-nav-bar class="bar-positive" align-title="center">  
            <!--添加下面的标签,切换页面后会有左上角的返回键-->  
            <ion-nav-back-button></ion-nav-back-button>  
        </ion-nav-bar>  
          
          
        <!--导航框架之导航视图-->  
        <ion-nav-view></ion-nav-view>  
          
          
          
          
        <!--内联模板:home.html-->  
        <script id="home.html" type="text/ng-template">  
            <!-- 导航框架之模板视图 -->  
            <ion-view view-title="Home">  
                <!--模板视图内容-->  
                <ion-content>  
                    <ion-list type="list-inset">  
                        <ion-item ui-sref="music" class="item-icon-right">  
                            Go to music page!  
                            <i class="icon ion-ios-arrow-right"></i>  
                        </ion-item>  
                    </ion-list>  
                </ion-content>  
            </ion-view>  
        </script>  
          
          
          
        <!--内联模板:music.html-->  
        <script id="music.html" type="text/ng-template">  
            <!-- ion-view 的title 属性值将显示在导航栏中 -->  
            <ion-view view-title="Music">  
                <!--模板视图内容-->  
                <ion-content class="padding">  
                    <a class="button ion ion-home" ui-sref="home"> go home</a>  
                </ion-content>  
            </ion-view>  
        </script>  
          
          
    </body>  
    <script type="text/javascript">  
        var app = angular.module("myapp", ["ionic"]);  
        app.config(function($stateProvider) {  
            $stateProvider.state("home", {  
                templateUrl: "home.html"  
            }).state("music", {  
                templateUrl: "music.html"  
            });  
        });  
        app.controller("mycontroller", function($scope, $state) {  
            $state.go("home");  
        });  
    </script>  
  
</html>

Tags:03 3I IO ON 
作者:网络 来源:现在学习也不晚
  • 上一篇:自定义滚动条插件
  • 下一篇:gulp初识