8、导航:Nav
angular2 中的是视图是显示在<router-outlet></router-outlet>里的同时他要依赖于 directives:[ ROUTER_DIRECTIVES ],还必须要配置RouteConfig 然而ionic 是这样的。
/* ---示例代码----*/ import {Component} from '@angular/core';
import {ionicBootstrap} from 'ionic-angular';
import {GettingStartedPage} from './getting-started'; @Component({
template: `<ion-navswipeBackEnabled="false" [root]="rootPage"></ion-nav>`
})
class MyApp {
root = GettingStartedPage;
} ionicBootstrap(MyApp); /* ---示例代码----*/
如上看来他直接省去了 RouteConfig 我们只需要控制 变量 root 所指向的 组件 就可以完成。视图的渲染器了。他的简便让我忘记了ng2.。。。。
2、ion-navbar
/* ---示例代码----*/ <ion-navbar *navbar>
<button menuToggle>
<ion-icon name="menu"></ion-icon>
</button>
<button menuToggle>
<ion-icon name="menu"></ion-icon>
</button>
<ion-title>
Page Title
</ion-title> <ion-buttons end>
<button (click)="openModal()">
<ion-icon name="options"></ion-icon>
</button>
</ion-buttons>
</ion-navbar> /* ---示例代码----*/
作用于页面的导航header 他的效果。
/* ---示例代码----*/ import {NavController, NavParams} from 'ionic-angular'; class MyComponent {
constructor(nav: NavController) {
this.nav = nav;
}
} /* ---示例代码----*/
this
.nav.setRoot(page,params,opt);
了这个方法 有三个参数。this
.nav.push(page,params); 他是一个异步的。带有过度效果 而nav.setRoot()是一个view的切换 因此他并没有返回button之类的东西,
当从一个页面过来 需要可以有后退按钮的时候 需要用到 push 比如 我一个view里面有3个页面 这三个页面并没有任何关系。这个时候用 setRoot 如果我是从一个页面进到他的类似于子页面的时候 这个时候可以用push
/* ---示例代码----*/ export class MyClass{
constructor(params: NavParams){
this.params = params;
// userParams is an object we have in our nav-parameters
this.params.get('userParams');
}
} /* ---示例代码----*/
他有一个get方法 接受 object里面的属性。和ng2一样。
/* ---list.html---*/ <ion-navbar *navbar>
<button menuToggle>
<ion-icon name="menu"></ion-icon>
</button>
<ion-title>My First List</ion-title>
</ion-navbar> <ion-content>
<ion-list>
<button ion-item *ngFor="let item of items" (click)="itemTapped($event, item)">
<ion-icon name="{{item.icon}}" item-left></ion-icon>
{{item.title}}
<div class="item-note" item-right>
{{item.note}}
</div>
</button>
</ion-list>
<div *ngIf="selectedItem" padding>
You navigated here from <b>{{selectedItem.title}}</b>
</div>
</ion-content> /* ---list.html---*/
/* ---list.js---*/ import {Page, NavController, NavParams} from 'ionic-angular';
import {ItemDetailsPage} from '../item-details/item-details'; @Page({
templateUrl: 'build/pages/list/list.html'
})
export class ListPage {
selectedItem: any;
icons: string[];
items: Array<{title: string, note: string, icon: string}>; constructor(private nav: NavController, navParams: NavParams) {
// If we navigated to this page, we will have an item available as a nav param
this.selectedItem = navParams.get('item'); this.icons = ['flask', 'wifi', 'beer', 'football', 'basketball', 'paper-plane',
'american-football', 'boat', 'bluetooth', 'build']; this.items = [];
for(let i = 1; i < 11; i++) {
this.items.push({
title: 'Item ' + i,
note: 'This is item #' + i,
icon: this.icons[Math.floor(Math.random() * this.icons.length)]
});
}
}
itemTapped(event, item) {
this.nav.push(ItemDetailsPage, {
item: item
});
}
} /* ---list.js---*/
<
button
ion-item *
ngFor
=
"let item of items"
(click)="itemTapped($event, item)">
改成。
<
button
ion-item [navPush]="pushPage" [navParams]="{ item: item}" *
ngFor
=
"let item of items"
>
这样是不是很简单的就导航到另一个页面 并且传了参数?
我在item-details.html中添加了一行代码 红色部分
/* ---示例代码----*/ <ion-navbar *navbar>
<button menuToggle *ngIf="!selectedItem">
<ion-icon name="menu"></ion-icon>
</button>
<ion-title>Item Details</ion-title>
</ion-navbar> <ion-content>
<div *ngIf="selectedItem" class="selection">
<b>{{selectedItem.title}}</b>
<ion-icon name="{{selectedItem.icon}}"></ion-icon>
<div>
You navigated here from <b>{{selectedItem.title}}</b>
</div>
</div> <button block nav-pop>返回</button>
</ion-content> /* ---示例代码----*/
他的作用是返回上级页面 这个时候他就可以返回到list页面了 这时候也体现出了 nav.setRoot() 与
nav.push(); 的差别
nav.setRoot() 是不允许返回的。
8、导航:Nav的更多相关文章
- amazeui学习笔记--css(常用组件9)--导航nav
amazeui学习笔记--css(常用组件9)--导航nav 一.总结 1.导航基本使用:<ul> 添加 .am-nav class 以后就是一个基本的垂直导航.默认样式中并没有限定导航的 ...
- jquery 根据网站url给导航nav添加active效果
后台的同事因为把nav公用了,所以无法单页添加active,一下方法通过判断url的后缀给当前页添加active $(function(){ var _nava= $('.nav .nav-wrapp ...
- HTML5 中的Nav元素详解
什么是Nav元素 Nav元素可以用作页面导航的链接组,在导航链接组里面有很多的链接,点击每个链接可以链接到其他页面或者当前页面的其他部分,并不是所有的链接组都要被放在nav元素里面,我们只需要把最主要 ...
- Bootstrap框架(基础篇)之按钮,网格,导航栏,下拉菜单
一,按钮 注意:虽然在Bootstrap框架中使用任何标签元素都可以实现按钮风格,但个人并不建议这样使用,为了避免浏览器兼容性问题,个人强烈建议使用button或a标签来制作按钮. 框架中提供了基础按 ...
- Bootstrap_导航
一.标签形tab导航 标签形导航,也称为选项卡导航. 标签形导航是通过“.nav-tabs”样式来实现.在制作标签形导航时需要在原导航“.nav”上追加此类名. <ul class=" ...
- jquery模板制作左侧导航组件
/** * Created by bmk on 16-4-25. * * 用法:在自己的js里面把左侧导航的相关图标和对应的列表项名称如下编写: * 版本更新日至按需添加 * 在js中的RNA.run ...
- Bootstrap 输入框和导航组件
一.输入框组件 //在左侧添加文字 <div class="input-group"> <span class="input-group-addon&q ...
- BootStrap入门教程 (三) :可重用组件(按钮,导航,标签,徽章,排版,缩略图,提醒,进度条,杂项)
上讲回顾:Bootstrap的基础CSS(Base CSS)提供了优雅,一致的多种基础Html页面要素,包括排版,表格,表单,按钮等,能够满足前端工程师的基本要素需求. Bootstrap作为完整的前 ...
- Bootstrap 导航
在本文中,您将学习如何使用 Bootstrap 工具包来创建基于导航.标签.胶囊式标签的导航. 基于标签的导航 nav nav-tabs <!DOCTYPE html> <html ...
- 第八十六节,html5+css3pc端固定布局,网站结构,CSS选择器,完成导航
html5+css3pc端固定布局,网站结构,CSS选择器,完成导航 页面采用1280的最低宽度设计,去掉滚动条为1263像素. 项目是PC端的固定布局,会采用像素(px)单位. 网站结构语义 在没有 ...
随机推荐
- C# Winform Label内容根据其宽度自动调整字体大小
C# Winform Label内容根据其宽度自动调整字体大小 项目,有个要求,Label中显示的内容,能够根据其宽度自动调整字体的大小进行显示,刚刚开始的时候,总是想着通过不同的方法来直接测量内容的 ...
- UML uml建模工具
UML建模工具 一.UML的概念: 参考百度百科: https://baike.baidu.com/item/%E7%BB%9F%E4%B8%80%E5%BB%BA%E6%A8%A1%E8%AF%AD ...
- 云课堂Android模块化实战--如何设计一个通用性的模块
本文来自 网易云社区 . 如何设计一个通用性的模块 前言 每个开发者都会知道,随着项目的开发,会发现业务在不断壮大,产品线越来越丰富,而留给开发的时间却一直有限,在有限的时间,尽快完成某个功能的迭代. ...
- ATX 免越狱调试IOS和Android
利用ATX配合WDA进行图形识别+自动化测试 通过使用AutomatorX,配合WebDriverAgent,可以实现在非越狱的IOS设备上更简单的进行自动化测试.同样,Android设备一样受到支持 ...
- Chat Order (map映射)
Chat Order Time Limit:3000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Submit ...
- “全栈2019”Java第五十一章:继承与final关键字详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- mysqli扩展库应用---批量执行sql语句
1, mysqli批量执行sql语句.基本语法: $sqls=”sql1;sql2;………” mysqli::multi_query($sqls); 同一个$sqls要么是增删改语句集合,要么是查询语 ...
- 解决方法:配置群集时# gem install redis 报错:Unable to require openssl, install OpenSSL and rebuild ruby
问题:前面已经在/usr/local/src安装了ruby-2.3.0.tar.gz.rubygems-2.4.2.tar.gz.在配置 redis-3.1.1 群集中,使用gem install 安 ...
- NSCharacterSet 关于字符串编码
此文转自:http://nshipster.cn/nscharacterset/ 只为个人为了查找问题方便才复制过来的....... 正如之前提前过的,基础类库(Foundation)拥有最好的.功能 ...
- centos6和ubuntu14搭建sftp
参考 http://blog.csdn.net/xinxin19881112/article/details/46831311 一. 在Centos 6.6环境使用系统自带的internal-sftp ...