03 ionic+angular开发webapp笔记

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>
		<div ui-view></div>
		<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进行了封装,

<div ui-view></div>
修改为

<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>









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值