Ionic Tips

环境配置

  1. 正常配置中文版官方地址,不多说了
  2. 异常情况:
    安装过程中出现,没有安装Python错误,所以需要安装Python.
    出现VC++环境错误,需要安装VS2015.

分析ionic导航过程

官方例子:地址


  
    
    
    
    菜鸟教程(runoob.com)
    
    
    
  

  
    
    
      
      
    
             
    


    

    

    

    

    

    

    

  

  1. 项目启动首次执行config配置信息,通过路由执行到$urlRouterProvider.otherwise("/tab/home"); 其中"/tab/home"就是url地址
  2. 加载url为tab的页面(这个不会单独显示,这里为了便于理解),执行里面的templateUrl地址tabs.html
  3. 加载完毕后,再找下面的home
.state('tabs.home', 
  { url: "/home", 
    views: { 'home-tab': 
                  { templateUrl: "templates/home.html", 
                    controller: 'HomeTabCtrl' 
                  } 
              } 
  })

首先看到state为tabs.home所以url完整地址为:state为tabs中url + 自己的url 即为/tab/home, 就是我们要找的地址,然后就会显示templateUrl地址home.html,显示到标签中的

  1. 当点击底部tab的时候,对应的href为 href="#/tab/home",就会跳转到这个地址,地址查找和前面一样,这里要注意的是 这个view的name和
.state('tabs.home', 
    { url: "/home", 
      views: { 'home-tab': 
                    { templateUrl: "templates/home.html", 
                      controller: 'HomeTabCtrl' 
                    } 
                } 
    })

中的views中的'home-tab'是对应的,不一样的话也是显示不出来的

  1. state中的controller也是要定义的,然后会报错找不到。

Ionic 路由页面间传递复杂参数 !!!

Router跳转:参考链接

  1. 但是这里要说的是传递对象,传递对象其实用JavaScript的序列化就可以了,和传递字符串一样的方式!(必须是抽象类的实现类才可以!!!)
  2. 如果两个View公用同一个service,就可以在service里面设置set ,get 函数来传递参数.

Ionic生命周期

Controller生命周期:参考blog

Ionic分页加载更多

List加载更多:参考链接

Ionic无限轮播

  1. 不显示问题
    如题所示:
    
     
      

HTML中infoList是从后台得到的url数组,但是这样不显示,一定要添加$ionicSlideBoxDelegate,然后拿到数组以后,手工渲染一下$ionicSlideBoxDelegate.update(); 就可以了!!!

  1. 无限循环问题
    这样做了以后就会出现,轮播图从第一个滚动到最后一个然后不动了,就是不会循环播放,所以在最后还需要加上$ionicSlideBoxDelegate.loop(true); 来实现!!!
  2. 去其他页面在返回,轮播图不会动了
    1.初次进来的时候
  $ionicSlideBoxDelegate.$getByHandle('my-handle').update();
  $ionicSlideBoxDelegate.$getByHandle('my-handle').loop(true);
  $ionicSlideBoxDelegate.$getByHandle('my-handle').start();

2.再次返回的时候

$ionicSlideBoxDelegate.$getByHandle('my-handle').next();

Ionic打电话

  1. 首先在config.xml中配置
    然后Android就可以打电话了,但是IOS不可以

  2. 还要在config.xml中配置
    这样ios也可以打电话了,完美解决!

Ionic 数据库PouchDB + SQLite

参考链接:
ionic 通过PouchDB + SQLite来实现app的本地存储(Local Storage)
完全按照官方文档步骤就行了,链接
Ionic SQLite原生说明链接
原生操作Demo

你可能感兴趣的:(Ionic Tips)