ionic使用的一些技巧

使用ionic总结:

1.全局禁用缓存的方法是:  $ionicConfigProvider.views.maxCache(0);

2. 在不同的用户输入场景下,需要显示不同的键盘模式以方便用户输入,如在输入邮件时键盘则显示邮件模式等,文本,数子等。

  <input type="number">

<input type="text">

<input type="emil">

  在 Ionic 中需要安装键盘插件控制键盘模式的显示,安装后在$ionicPlatform.ready中调用即可。 

$ionicPlatform.ready(function() {
        // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
        // for form inputs)
        if (window.cordova && window.cordova.plugins && window.cordova.plugins.Keyboard) {
            $rootScope.connectionCheck();
            cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
            cordova.plugins.Keyboard.disableScroll(true);
        }
        if (window.StatusBar) {
            // org.apache.cordova.statusbar required
            StatusBar.styleLightContent();
        }
});

3.设备网络状况的检查:

document.addEventListener("deviceready", function () {
    // listen for Online event
    $rootScope.$on(‘$cordovaNetwork:online‘, function (event, networkState) {
        var onlineState = networkState;
        console.log("device online...");
    })
    // listen for Offline event
    $rootScope.$on(‘$cordovaNetwork:offline‘, function (event, networkState) {
        var offlineState = networkState;
        //提醒用户的网络异常
        $ionicLoading.show({
            template: ‘网络异常,不能连接到服务器!‘
        });
    })
}, false);

4. 如果某个界面上不想要导航栏,可以简单地在最顶端的标签中添加hide-nav-bar="true"

5.ion-scroll 不滚动
 《ion-scroll  id="xx"   delegate-handle="XX" direction="x" zooming="false" 》增加overflow-scroll="false" 即可。

6.splash screen 在安卓上变形:
   在部分1080P下,按cordova splash screen 的  screen-xhdpi-portrait.png(720*960) 设置的启动画面,会变形挤瘦,需要在config.xml 中加入
 《preference name="SplashMaintainAspectRatio" value="true" /》不强制拉伸即可。

7. list 有延迟,可以在ion-content处使用 overflow-scroll="true"试试!

8. ng-click在  i  标签上没有效果;

9. label标签内的事件会在整个label内被触发;

10.  能用ng-if就用ng-if,ng-if的效率比ng-showng-hide高;

11. 如果在ion-list中的ion-item中并不能触发ng-click事件,可以在item中的元素上再套一层div;

12. 获取日期用$filtervar postdate = $filter(‘date‘)(date, ‘yyyy-MM-dd HH:mm:ss‘);

13. 在安卓上的体验比较差,动画有延迟?可以试用ionic集成的crosswalk ;
14. 在ionic中嵌入网页html文件:可使用ng-build-html,不过它会过滤原始html的标签,我们可以引入$sce模块,用$sce.trustAsHtml()方法信任我们获取的网页.

ng-bind-html="content" ;

   $scope.content=$sce.trustAsHtml(data[0].Content);

15. 加载页面的时候会看到双括号:

  angularjs 在使用双括号的时候,第一个加载的页面,也就是应用中的index.html,其未被渲染好的模版可能会被用户看到。用ng-bind就不会遇到这个问题。

原因是,浏览器需 要首先加载HTML页面,渲染它,然后Angular才有机会把它解释成你期望看到的内容。在大多数的模版中你依然可以使用双括号.但是对于

index.html页面中的数据绑定操作,建议使用ng-bind。如 <h1 ng-bind="title"></h1>

16. 更新了数据,让界面更新:  可以用广播,注意$broadcast 和 $emit的区别

17. 如何显示相对时间?如几分钟前,几天前等,可以用momentjs,参考地址 ---https://scotch.io/tutorials/display-time-relatively-in-angular

18. 关闭应用: ionic.Platform.exitApp();      navigator.app.exitApp();

19. 在安卓设备上如何让title居中:  如果要统一让所有navbar上的title居中(包括上面的headerbar),可以在config里设置,如:

config(function($stateProvider, $urlRouterProvider,$ionicConfigProvider) {
  $ionicConfigProvider.navBar.alignTitle(‘center‘);
  ...}

20. ionic的subheader挡住了内容区域:解决方案是给<ion-content>加类has-subheader,同理也可以加has-header

<ion-content class="has-header has-subheader">

21. 对于需要添加数据的list,在添加数据后页面不能及时刷新造成卡顿怎么办?

使用$ionicScrollDelegate.resize();在添加数据后手动进行重新刷新;

22. ionic tab在Android中显示在顶部的解决方案:

.config(function($stateProvider, $urlRouterProvider,$ionicConfigProvider) {

        $ionicConfigProvider.platform.ios.tabs.style(‘standard‘);
        $ionicConfigProvider.platform.ios.tabs.position(‘bottom‘);
        $ionicConfigProvider.platform.android.tabs.style(‘standard‘);
        $ionicConfigProvider.platform.android.tabs.position(‘standard‘);

        $ionicConfigProvider.platform.ios.navBar.alignTitle(‘center‘);
        $ionicConfigProvider.platform.android.navBar.alignTitle(‘left‘);

        $ionicConfigProvider.platform.ios.backButton.previousTitleText(‘‘).icon(‘ion-ios-arrow-thin-left‘);
        $ionicConfigProvider.platform.android.backButton.previousTitleText(‘‘).icon(‘ion-android-arrow-back‘);       

        $ionicConfigProvider.platform.ios.views.transition(‘ios‘);
        $ionicConfigProvider.platform.android.views.transition(‘android‘);}

23. 时候会出现ionicHistory.clearHistory无效,决办法,用 timeout();

$timeout(function () {
          $ionicHistory.removeBackView();
          $ionicHistory.clearCache();
          $ionicHistory.clearHistory();
        });

24. ionic 更改包名:找到根目录下的config.xml,其中<widget id=‘com.package.name‘>是你的包名;

25. ionic中如何打开微信(或者其他应用):

使用协议 : weixin://
<a class="button button-block button-light" href="weixin://">打开微信</a>
然后在根目录下的config.xml中配置:
<access origin="weixin:*" launch-external="yes"/>  //打开微信的

26. ionic.Platform.exitApp()退出后,再进入应用 splashscreen不显示:

  在config.xml文件里添加: <preference name="SplashShowOnlyFirstTime" value="false" />

27. ionic实现微信分享:参考文章--- https://chenhuichao.com/2016/10/09/ionic/ionic-wechat-share/

时间: 2024-10-11 17:17:52

ionic使用的一些技巧的相关文章

ionic新手教程第七课-简要说明几种界面之间的參数传递及优缺点

截至2016年4月13日19点32分,我公布的ionic新手教程,已经公布6课了, 总訪问量将近6000,平均每节课能有1000的訪问量.当中訪客最多的是第三课有2700的訪客. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" > 事实上我開始的时候计划的挺好的,就依照我这阶段的安排,慢慢的带大家做一个

技术文章写作及运营的技巧:分析篇 | 什么样的文章受欢迎?

对于以技术为核心的技术博客来说,人们是冲着他们需要的内容去的,绝大多数情况下都不是在闲逛.如果你的网站里没有他想要的东西的话,他便会离开,人们是出于目的去搜索,基于动机,而不是无聊的在闲逛.无聊的话,他们更多的会去刷刷朋友圈的,看看鸡汤. 文章的类型 依据我的经验,我将技术博客分为下面几种类型: 文章类型 频率 时间 技术细节型 几次/天 15~30分钟 干货型 几次/月 1~2小时 实践总结型 几次/ 周 2+小时 杂谈与鸡汤型 几次/季度 1 + 小时 ~ 几个月 并且他们的流量来源大概来源

angularJS实用的开发技巧

一.开端 真的是忙完这一阵子就可以忙下一阵子了啊... 最近在做一个angularJS+Ionic的移动端项目...记录一些技巧,方便自己以后查阅,也方便需要的人可以看一看...^_^ 二.基础原则了解 ①angular的一些入门了解 一.基础知识 1.angular放弃了IE8 2.四大核心分别是mvc.模块化.指令系统.双向数据绑定 二.一些原则 1.不要复用controller,一个控制器一般只负责一小块视图. 2.不要在controller里面操作dom. 3.不要在contorller

Cordova+angularjs+ionic+vs2015开发(三)

欢迎加群学习:457351423 这里有4000多部学习视频,涵盖各种技术,有需要的欢迎进群学习! 一.基础设置 1.修改App名称和程序起始页 打开config.xml配置文件显示如下,在[通用]选项卡中,将显示名称和起始页,修改为自己想要的名称即可. 如需直接在xml文件中修改:右击config.xml,使用[查看代码]进行修改即可. 2.插件安装 一般在项目开发中,免不了使用第三方的插件,在VS中安装Cordova插件也是比较简单的. 可视化打开config.xml文件.切换到[插件]选项

React Native和cordova Ionic那个好

React Native和phoengap/cordova ionic那个好 React是什么 React是Facebook在2013年发布的一个前端框架,而如今的React俨然已经演变成一个前端生态,这个生态圈包含了众多基于React的框架:ReactJS.ReactCanvas.ReactNativeforiOS.ReactNativeforAndroid(手机app开发ty300.com).由于Facebook的大力支持和众多开发者的追捧,React在前端框架中备受青睐. React的AP

Ionic 常见问题及解决方案 -----转

原文网址:http://mclspace.com/2016/01/16/ionic-problems-and-solutions/ 前言 Ionic是目前较为流行的Hybird App解决方案,在Ionic开发过程中会遇到很多常见的开发问题,本文尝试对这些问题给出解决方案. 一些常识与技巧 ion-content处使用 <i>上用<label>标签内的事件会在整个style="" 能用ng-if,ng-show和ion-list中的ng-click事件,可以在i

Ionic 常见问题及解决方案

原文网址:http://mclspace.com/2016/01/16/ionic-problems-and-solutions/ 前言 Ionic是目前较为流行的Hybird App解决方案,在Ionic开发过程中会遇到很多常见的开发问题,本文尝试对这些问题给出解决方案. 一些常识与技巧 list 有延迟,可以在ion-content处使用 overflow-scroll="true"尝试 在<i>上用ng-click上是没效果的 <label>标签内的事件会

移动跨平台开发框架Ionic技术分享

作者会不定期更新有关ionic的技术文章,也会活跃在各个ionic,phoneGap,cordova的群里为大家解决技术问题和提供解决方案.目前整理了一些大家比较关心的技术点,更新后可以直接从这个列表进去. ionic登陆跳转逻辑 jpush极光推送的集成 signalr即时通信的使用 ionic中富文本的使用 ionic页面重用技术 ionic轮询请求的控制 ionic项目的全局配置的使用 ionic中页面的生命周期的讲解 ionic路由状态的管理 ionic中angular-charts图表

备:移动端开发资源和小技巧

(在github上看到的,转摘而来,如果有版权问题请联系我[email protected]) mobileTech A useful tools or tips list for mobile web application developing 这个项目收集移动端开发所需要的一些资源与小技巧 移动端统计 (from BiosSun) 可基于下方所列出的统计数据来决定您要兼容的设备及浏览器. 百度移动统计 友盟指数 CNZZ 桌面及移动端浏览器统计 全球移动端浏览器统计 工具类网站 HTML5