angularUI路由js页面切换动画效果的动画效果怎么做

20个有用的Angular.js工具_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
20个有用的Angular.js工具
&&20个有用的Angular.js工具
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
你可能喜欢ionic 教程
ionic 导航
ion-nav-view
当用户在你的app中浏览时,ionic能够检测到浏览历史。通过检测浏览历史,实现向左或向右滑动时可以正确转换视图。
采用AngularUI路由器模块等应用程序接口可以分为不同的$state(状态)。Angular的核心为路由服务,URLs可以用来控制视图。
AngularUI路由提供了一个更强大的状态管理,即状态可以被命名,嵌套, 以及合并视图,允许一个以上模板呈现在同一个页面。
此外,每个状态无需绑定到一个URL,并且数据可以更灵活地推送到每个状态。
以下实例中,我们将创建一个应用程序中包含不同状态的导航视图。
我们的标记中选择ionNavView作为顶层指令。显示一个页眉栏我们用 ionNavBar 指令通过导航更新。
接下来,我们需要设置我们的将渲染的状态值。
var app = angular.module('myApp', ['ionic']);
app.config(function($stateProvider) {
$stateProvider
.state('index', {
templateUrl: 'home.html'
.state('music', {
url: '/music',
templateUrl: 'music.html'
再打开应用,$stateProvider 会查询url, 看是否匹配 index 状态值, 再加载index.html到&ion-nav-view&。
页面加载都是通过URLs配置的。在Angular中创建模板最一个简单的方式就是直接将他放到html模板文件中并且用&script type="text/ng-template"& 包含。
所以这也是一种方式将Home.html加入到我们的APP中来:
&script id="home" type="text/ng-template"&
ion-view 标题将显示在 navbar 中 --&
&ion-view view-title="Home"&
&ion-content ng-controller="HomeCtrl"&
&!-- The content of the page --&
&a href="#/music"&Go to music page!&/a&
&/ion-content&
&/ion-view&
这是一个很好的方法,因为模板会很快的加载并被缓存就不同通过网络再去加载。
通常情况下,视图都被缓存了能提升性能。当跳出视图时,他的元素被保留在Dom中,并且它的作用域也从 $watch 中移除。当我们跳到一个已经被缓存了的视图,视图会被激活,它的作用域被重新连接上,Dom中也保存了他的元素。这也允许保持以前的视图滚动位置。
缓存也可以通过很多方式来开启和关闭的。默认Ionic将最大缓存页面数为10个,并且这并不是唯一可以定制的,应用程序可以显式状态来设置视图应不应该被缓存。
注意,因为我们是缓存这些视图,我们没有破坏作用域。相反, 它的作用域也从 $watch 中移除。 因为接下来的观看作用域并没有被摧毁和重建,控制器也没被再次加载。如果app/controller需要知道什么时候进入或离开一个视图,再视图事件从 ionView 作用内发出, 例如 $ionicView.enter, 可能是有用的。
全局禁用缓存
$ionicConfigProvider 可以用于设置最大允许缓存的视图数量,通过设置为0来禁用所有缓存。
$ionicConfigProvider.views.maxCache(0);
在STATE PROVIDER中禁用缓存
$stateProvider.state('myState', {
cache: false,
url : '/myUrl',
templateUrl : 'my-template.html'
通过属性禁用缓存
&ion-view cache-view="false" view-title="My Title!"&
&/ion-view&
AngularUI 路由
请访问&&了解更多。
一个视图的名字。这个名字应该是在相同的状态下其他视图中唯一的。你可以在不同的状态中有相同名称的视图。欲了解详细信息,查看ui-router的 。
隶属于ionNavView。
一个内容的容器,用于展示视图或导航栏信息。
下面是一个带有"我的页面"标题的导航栏载入页面的例子。
&ion-nav-bar&&/ion-nav-bar&
&ion-nav-view class="slide-left-right"&
&ion-view title="我的页面"&
&ion-content&
&/ion-content&
&/ion-view&
&/ion-nav-view&
显示在父ionNavBar的标题。
hide-back-button
默认情况下,是否在父ionNavBar隐藏后退按钮。
hide-nav-bar
默认情况下,是否隐藏父ionNavBar。
ion-nav-bar
创建一个顶部工具栏,当程序状态改变时更新。
&body ng-app="starter"&
&!-- 当我们浏览时,导航栏会随之更新。 --&
&ion-nav-bar class="bar-positive nav-title-slide-ios7"&
&/ion-nav-bar&
&!-- 初始化时渲染视图模板 --&
&ion-nav-view&&/ion-nav-view&
delegate-handle
该句柄用$ionicNavBarDelegate标识此导航栏。
align-title
导航栏标题对齐的位置。可用: 'left', 'right', 'center'。 默认为 'center'。
ion-nav-buttons
隶属于ionNavView
在ionView内的ionNavBar上用ionNavButtons设置按钮。
你设置的任何按钮都将被放置在导航栏的相应位置,当用户离开父视图时会被销毁。
&ion-nav-bar&
&/ion-nav-bar&
&ion-nav-view&
&ion-view&
&ion-nav-buttons side="left"&
&button class="button" ng-click="doSomething()"&
我是一个在导航栏左侧的按钮!
&/ion-nav-buttons&
&ion-content&
这里是一些内容!
&/ion-content&
&/ion-view&
&/ion-nav-view&
在父ionNavBar中按钮放置的位置。 可用: 'left' 或 'right'。
ion-nav-back-button
在一个ionNavBar中创建一个按钮。
当用户在当前导航能够后退时,将显示后退按钮。
默认按钮动作:
&ion-nav-bar&
&ion-nav-back-button class="button-clear"&
&i class="ion-arrow-left-c"&&/i& 后退
&/ion-nav-back-button&
&/ion-nav-bar&
自定义点击动作,用 $ionicNavBarDelegate:
&ion-nav-bar ng-controller="MyCtrl"&
&ion-nav-back-button class="button-clear"
ng-click="canGoBack && goBack()"&
&i class="ion-arrow-left-c"&&/i& 后退
&/ion-nav-back-button&
&/ion-nav-bar&
function MyCtrl($scope, $ionicNavBarDelegate) {
$scope.goBack = function() {
$ionicNavBarDelegate.back();
在后退按钮上显示上一个标题,也用$ionicNavBarDelegate。
&ion-nav-bar ng-controller="MyCtrl"&
&ion-nav-back-button class="button-icon"&
&i class="icon ion-arrow-left-c"&&/i&{{getPreviousTitle() || 'Back'}}
&/ion-nav-back-button&
&/ion-nav-bar&
function MyCtrl($scope, $ionicNavBarDelegate) {
$scope.getPreviousTitle = function() {
return $ionicNavBarDelegate.getPreviousTitle();
nav-clear一个当点击视图上的元素时用到的属性指令,比如一个 &a href& 或者一个 &button ui-sref&。
当点击时,nav-clear将会导致给定的元素,禁止下一个视图的转换。这个指令很有用,比如,侧栏菜单内的链接。
下面是一个侧栏菜单内添加了nav-clear指令的一个链接。点击该链接将禁用视图间的任何动画。
&a nav-clear menu-close href="#/home" class="item"&首页&/a&
ion-nav-title
ion-nav-title 用于设置 ion-view 模板中的标题。
&ion-nav-bar&
&/ion-nav-bar&
&ion-nav-view&
&ion-view&
&ion-nav-title&
&img src="logo.svg"&
&/ion-nav-title&
&ion-content&
Some super content here!
&/ion-content&
&/ion-view&
&/ion-nav-view&
nav-transition
设置使用的过渡类型,可以是:ios, android, 和 none。
&a nav-transition="none" href="#/home"&Home&/a&
nav-direction
设置导航视图中过渡动画的方向,可以是forward, back, enter, exit, swap。
&a nav-direction="forward" href="#/home"&Home&/a&
$ionicNavBarDelegate
授权控制 ion-nav-bar 指令。
&body ng-controller="MyCtrl"&
&ion-nav-bar&
&button ng-click="setNavTitle('banana')"&
Set title to banana!
&/ion-nav-bar&
function MyCtrl($scope, $ionicNavBarDelegate) {
$scope.setNavTitle = function(title) {
$ionicNavBarDelegate.title(title);
align([direction])
在浏览历史中后退。
事件对象(如来自点击事件)
align([direction])
带有按钮的标题对齐到指定的方向。
标题文字对齐的方向。可用: 'left', 'right', 'center'。 默认: 'center'。
返回值: 布尔值, 后退按钮是否显示。
showBar(show)
设置或获取 ion-nav-bar 是否显示。
导航栏是否显示。
返回值: 布尔值, 导航栏是否显示。
showBackButton([show])
设置或获取 ion-nav-back-button 是否显示。
是否显示后退按钮
title(title)
为ion-nav-bar设置标题。
显示新标题。
$ionicHistory
$ionicHistory 用于跟踪用户在 app 内的浏览记录。
viewHistory()
用于查看历史记录。
currentView()
app 的当前视图。
currentHistoryId()
历史堆栈的 ID,是当前视图的父类容器。
currentTitle([val])
获取或设置当前视图的标题。
backView()
返回上次浏览的视图。
backTitle()
获取上次浏览的视图的标题。
forwardView()
返回历史堆栈中当前视图的上一个视图。
currentStateName()
返回当前状态名。
goBack([backCount])
app 回退视图,如果回退的视图存在。
反馈内容(*必填)
截图标记颜色
联系方式(邮箱)
联系邮箱:
投稿页面:
记住登录状态
重复输入密码问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
&div ui-view='index'&&/div&
&div ui-view='content'&&/div&
&p&content1&/p&
&p&content2&/p&
a.html中绑定事件触发content视图切换到c.html或d.html
$stateProvider的config应该怎么配置
js里如果手动做切换?
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
你的问题里缺少一些必要的上下文信息,所以我只能靠推测或猜来补充完整了
任何 SPA 框架的路由系统都是一样的:每一个路由对应着应用程序的状态,而应用程序状态的变化体现在 URLs 的变化上;反之也是,URLs 的变化将会引起路由系统动态的刷新应用程序的状态。
在你的例子,路由的入口只有恒定的一个 ui-view='content',但却要不同的视图(c.html 和 d.html)动态的进入其中,这就意味着 c.html 和 d.html 要对应应用程序的不同状态,路由系统才可以据此而动态的更新。
假设你的例子是这样的:
当 /posts/show/c 的时候,ui-view='content' 显示 c.html
当 /posts/show/d 的时候,ui-view='content' 显示 d.html
于是我们才可以对应到 ui-router 里面:
state 是 posts.show
动态片段,即 URLs 中可变的部分,对应 state 里的 url,我把它命名为 :name
view 的入口是 content@posts.show
这样便足以写出绝大部分代码了:
angular.module('YourApp').config(function ($stateProvider) {
$stateProvider.state('posts.show', {
url: '/show/:name',
'content@posts.show': {
templateUrl: /* TODO */,
controller: ...
唯一剩下的问题是:当 :name 变化的时候,如何更新 templateUrl?
之前说过的,URLs 的变化会引发路由系统更新应用程序的状态,这些变化在路由系统中被保存在 $params 对象中,我们可以用该对象提取变化的部分并生成正确的 templateUrl。在这里我写一个助手函数来做这件事情:
angular.module('YourApp').config(function ($stateProvider) {
$stateProvider.state('posts.show', {
url: '/show/:name',
'content@posts.show': {
templateUrl: getTemplateUrl,
controller: ...
function getTemplateUrl() {
return: 'templates/posts/' + $params.name + '.html';
ui-router 这个模块,templateUrl 不只是接收字符串,也可以接收函数的返回值。于是你可以得到:
当 /posts/show/c 的时候,templateUrl 是 templates/posts/c.html
当 /posts/show/d 的时候,templateUrl 是 templates/posts/d.html
相应的,在你 index 里的导航链接就要负责切换 /posts/show/:name 的变化,如何生成对应动态片段的链接在 ui-router 的文档里有,自己去找来看吧。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
我觉得楼上的人打得太复杂,随便看个ui-view的 教程不就好了吗
该答案已被忽略,原因:
同步到新浪微博
分享到微博?
你好!看起来你挺喜欢这个内容,但是你还没有注册帐号。 当你创建了帐号,我们能准确地追踪你关注的问题,在有新答案或内容的时候收到网页和邮件通知。还能直接向作者咨询更多细节。如果上面的内容有帮助,记得点赞 (????)? 表示感谢。
明天提醒我
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:设计师怎样使用Xcode 5制作app原型 _ 长沙老百姓生活信息
设计师怎样使用Xcode 5制作app原型
1.在Xcode5下,获取程序名字(app name)的方法为: NSString *proName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@&CFBundleDisplayName&]; NSLog(@&dicName ==== %@&,[[NSBundle mainBundle] infoDictionary]); 打印之后可以看到
1.在Xcode5下,获取程序名字(app name)的方法为: NSString *proName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"]; NSLog(@"dicName ==== %@",[[NSBundle mainBundle] infoDictionary]); 打印之后可以看到
产品设计分为外观设计和结构设计两个阶段,不存在工程的说法。 外形设计和结构设计是相互渗透的,不能割开看待。 外形设计阶段,一般使用的软件有: PS 、AI 、coreldraw-----绘制2D效果图 RHINO、KEYSHOT、Cinema 4D 、Proe……建模渲染3d效果图...
苹果就自己有个专门制作原型的团队,他们流窜在各个项目组之间包揽所有的原型制作工作,包括动画和交互。他们的主要工具就是Keynote。 这来自于 WWDC 2014 Session Videos 里有个视频Prototyping: Fake It Till You Make It ,就是他们指导如何...
我本身是一名GUI设计师,所以我只站在GUI设计师的角度去把APP从项目启动到切片输出的过程写一写,相当于工作流程的介绍吧。公司不同,流程不尽相同,但是终究还是能有些帮助。 依旧声明:这里写的不是一种规范,只是一种工作方法,大家在具体工...
1.在Xcode5下,获取程序名字(app name)的方法为: NSString *proName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"]; NSLog(@"dicName ==== %@",[[NSBundle mainBundle] infoDictionary]); 打印之后可以看到
1、产生想法——优秀的想法 你要如何知道想法是否优秀呢?第一步,先考虑你的想法是否有内涵;第二部,想法是否含有至少一个的成功要素,包括以下几个方面: 应用能否帮助用户解决某个独特的问题?在电灯泡发明之前,有人大加抱怨在烛光下看书很不...
Xcode使用教程详细讲解是本文要介绍的内容,Xcode是一个款强大的IDE开发环境,就像你在写Windows程序时需要VS2005一样 需要要Xcode为你写Mac程序提供环境。因此,如果你要成为Mac 程序的开发者,灵活运用Xcode工具是你必须做的第一步。参考教程...
原型设计的使用者主要包括商业分析师、信息架构师、可用性专家、产品经理、IT咨询师、用户体验设计师、交互设计师、界面设计师、架构师、程序开发工程师等
返回主页:
本文网址:/view-.html

我要回帖

更多关于 vue 页面切换动画 的文章

 

随机推荐