zoukankan      html  css  js  c++  java
  • ionic新手教程第七课-简要说明几种界面之间的參数传递及优缺点

    截至2016年4月13日19点32分,我公布的ionic新手教程,已经公布6课了,

    总訪问量将近6000,平均每节课能有1000的訪问量。当中訪客最多的是第三课有2700的訪客。


    事实上我開始的时候计划的挺好的,就依照我这阶段的安排,慢慢的带大家做一个比較完整的项目。

    但这几天发生了一些事情,让我不得不又一次思考该跟大家说什么呢?

    从訪客数据来看,大家对于总体架构的布置和代码逻辑的规范相对照较感兴趣,也说明大家对基础入门的新建和普通的指令比較了解。

    我本来是不打算讲过于基础的东西的,但是今天在技术群里。有个朋友问说ng-repeat怎么用?有人回答他连这个都问。那还怎么做项目。

    事实上我知道有些朋友基础比較差,看不懂API文档,或者对文档理解不是非常清晰,可是人家想学啊。

    我知道教这种朋友并不须要什么技术。却须要足够的耐心。

    并且今天我公司让我带一个零基础的同事学ionic,我打算在6-10天左右。让他上手做项目。

    所以从下节课開始,我可能会更新比較基础简单的指令。

    言归正传。

    当项目慢慢做大,内容和业务越来越多的时候,我们都会涉及到多界面之间的參数传递。

    再此我简要的说明一下几种比較经常使用的參数传递方式。

    1、通过route传递

    这样的方法是在新建tabs类型的ionic项目中就使用到的。

    在route中定义了。进入页面的路由接收參数


    在界面中传递參数


    或者在controller中使用代码传递參数

     $state.go('game-detail',{gameId:gameId})

    都但是实现从A界面向B界面传递一个字符串类型的数据。相同的方法:/xxxx:/xxxx:/xxx就能够实现向B界面传递多个字符串參数。

    长处是代码简单。传递数据通过分享链接返回,数据不会丢失。

    缺点是将数据放到url地址中,使得訪问地址过长。

    若传递多个參数。在微信分享地址放回是可能导致重定向地址错误。

    切忌使用这种方法传递对象,尽管能够实现,可是会有一个很长的url地址。

    2、通过$rootScope传递參数

    这个更简单点,在A、B界面中注入$rootScope,在A界面使用$rootScope.data={xxx:xxx}||"xxxx".在B界面直接使用$rootScope.data

    长处是使用便捷。高效高速,不止能传递字符串还能传递对象。在须要传递较大数据量时,挺好用的。

    缺点是代码任意。不规范。到处都是全局变量不好维护,数据常驻内存占用空间。数据保存在本地通过分享链接返回数据丢失。

    这种方法不止能够用来传递參数,活用于公共业务和公共模块的处理。也很好用。

    可是切忌过于依赖,这个技巧。不然把大量的代码写在run中。会影响项目的启动。

    比方通用的loading。能够写在这里,仅仅要项目启动了这两个模块就载入了。


    然后再须要的地方$rootScope.$broadcast('loading:show');就能够了。

    相同的在这里定义$rootScope.fun = func(),也可在全局调用$rootScope.fun()

    注意切忌把太多的业务放在这里,后期代码调整和业务改动。真的非常悲催。

    3、通过service传递和方法2差点儿相同。就是须要多谢一下代码。优缺点也类似。可是例如法2更加的规范,符合angularjs的设计规范,

    不在controller中处理业务,而是交由服务处理。就是A界面引用C服务的setData,B界面引用C服务的getData。

    今天的内容有点少了,下次我就讲点基础的。先把在项目中比較经常使用的几个标签说明确了。再安排其它的内容。

    最好的方法。忘记说了,通过route传递一个key。然后须要服务端配合。

    通过这个key去获取整个对象数据。这样子,无论是分享回来没数据还是url过长,都能够决解

    请大家关注一下我的公众号。就算给我一点点鼓舞吧大笑

    项目Demo地址:无
    假设你还有什么其它的问题,能够通过下面方式找到我

    新浪微博:小虎Oni
    微信公众号:ionic__



  • 相关阅读:
    CSU1018: Avatar
    ZOJ
    HDU—4463 Outlets 最小生成树
    查询文件中值所在的路径
    mysql语句查询时间检测
    phpmyadmin修改root密码
    检测Linux glibc幽灵漏洞和修补漏洞
    监控宝安装手册
    ubuntu安装环境软件全文档
    ubuntu mysql主从库的搭建
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/7276906.html
Copyright © 2011-2022 走看看