Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ionic开发中的一些坑(持续更新中。。。) #7

Open
ychow opened this issue Mar 13, 2015 · 37 comments
Open

ionic开发中的一些坑(持续更新中。。。) #7

ychow opened this issue Mar 13, 2015 · 37 comments
Labels

Comments

@ychow
Copy link
Owner

ychow commented Mar 13, 2015

  • 如果app有使用tabs,那么在真机上运行时,有的android手机tabs跑到了顶部,而在ios或者ipad上tabs还是在底部的,这是因为1.3.2以后版本默认是使用了以ios为模型的,如果想在android上tabs也是显示在底部,添加以下代码即可:
// 在app.js里面添加
.config(function($stateProvider, $urlRouterProvider, $ionicConfigProvider) {
  $ionicConfigProvider.platform.android.tabs.position("bottom");
  $ionicConfigProvider.tabs.style('standard');
});
  • 在把ionic升级到1.3.2版本以后,默认的返回按钮都是带有"text"属性的,之前的版本在index.html中统一配置返回按钮样式取消"text"属性不起作用了,如果想要取消,添加以下代码即可:
.config(function($stateProvider, $urlRouterProvider, $ionicConfigProvider) {
  $ionicConfigProvider.backButton.text('').icon('ion-ios7-arrow-thin-left');
  $ionicConfigProvider.backButton.previousTitleText(false);
  $ionicConfigProvider.navBar.alignTitle('center');
});
  • 最近遇到了一个问题,其实这问题导致的原因还是因为自己没有把 Ionic 的文档仔细看过。在 IONIC beta.14 版本中,Ionic 团队增加了视图缓存。那什么是视图缓存呢?
  • 之前用户一旦在应用程序中执行导航动作,每个退出的视图元素和scope都会被销毁.如果相同的视图再次被访问,应用程序会重新生成元素.现在,视图可以被缓存以提高性能。
  • 现在,当一个视图退出之后,元素将被遗留在DOM中,它的scope在这段时间内会被断开.当导航至一个已经被缓存的视图中,它的scope会被重新链接,并且其遗留在DOM中的元素会被重新激活到当前视图。

但是在实际开发中,有时候这其实是一个坑! 还好 Ionic 为开发者提供了一个配置选项,你可以在你的路由里添加 ** cache: false**来禁止视图缓存。当然个别的ionView可以通过设置cache-view=”false”属性。你也可以查看详细的文档 ----> ionNavView/

  • 最近使用了slide-box做了一个幻灯片。当然图片也是ajax取的,所以这里大家就会遇到一个问题,当你使用ng-repeat循环的时候,发现宽度为0!不要惊慌!Ionic里面已经有了相关的解决方案 --> $ionicSlideBoxDelegate
$timeout( function() {
    $ionicSlideBoxDelegate.update();
}, 50);
  • 当我们想让我们应用的tabs在底部,让标题居中的时候,我们可以在config里面添加如下几句:
$ionicConfigProvider.navBar.alignTitle("center");
$ionicConfigProvider.platform.android.tabs.position("bottom");
$ionicConfigProvider.tabs.style("standard);

关于IOS9下ionic应用的Bug解决方案!

如果你是Web应用(浏览器访问的网站),那么你一定会遇到过在ios9下,点击会乱跳,或是链接失效的Bug。其实仔细观看ionic官方blog,ionic团队已经给出了对应的解决方案!更新你的ionic版本!

使用bower下载最新的ionic版本,替换掉之前使用的ionic.bundle.js!
bower install driftyco/ionic-bower#master

@ychow ychow added the ionic label Mar 17, 2015
@ychow
Copy link
Owner Author

ychow commented Apr 8, 2015

add the bug about Slide-Box

@dongnaebi
Copy link

还有$scope并不能给view-title赋值!

@ychow
Copy link
Owner Author

ychow commented Jul 3, 2015

@dongnaebi 有例子吗?这种应该可以的

@dongnaebi
Copy link

出现在切换视图的时候,比如列表页进详细页

.......

请求结束后其他地方都渲染了,就这里没变。
如果直接在详细页刷新是会变的

@ychow
Copy link
Owner Author

ychow commented Jul 3, 2015

@dongnaebi 绑定数据的时候 最好是对象绑定 。试试吧

@floraluo
Copy link

还有在Android中为什么cancleButton不可见呢?ios中就是可见的。我初学,好多都还没搞明白

@ychow
Copy link
Owner Author

ychow commented Sep 28, 2015

@floraluo cancelButton??? 有demo吗?或者该button的代码

@floraluo
Copy link

image

$scope.actionsheet=function(){
        $ionicActionSheet.show({
            buttons:[
                { text: "分享"}
            ],
            destructiveText: "删除",
            destructiveButtonClicked: function(){
                console.log("destructiveText is triggle");
                return true;
            },
            cancelText: "取消",   //好像在Android中这个是被隐藏的
            cancle: function(){
                console.log('cancle is triggle');
            },
            buttonClicked: function(index){
                console.log(index)
                return true;
            }
        })
    };

基本是官网的代码
@ychow

@ychow
Copy link
Owner Author

ychow commented Oct 11, 2015

@floraluo 样式的问题

@berial
Copy link

berial commented Nov 10, 2015

哥们,这教程还更新么

@ychow
Copy link
Owner Author

ychow commented Nov 10, 2015

@berial 如果遇到ionic的什么坑 可以在下面回复。 你指的教程是指ionic中文指南这个吗? 如果您觉得还缺什么,可以告诉我。

@berial
Copy link

berial commented Nov 10, 2015

@ychow 直接往$scope上绑定表单数据的时候,有可能在controller中会取不到值,但是用js的document就可以

@ychow
Copy link
Owner Author

ychow commented Nov 10, 2015

@berial 你是用对象绑定的方式,还是变量绑定。最好使用对象绑定的方式!

@berial
Copy link

berial commented Nov 10, 2015

@ychow 之前用的变量绑定,发现不行听别人的建议改成了对象绑定,但是为什么变量绑定会取不到值呢

@ychow
Copy link
Owner Author

ychow commented Nov 10, 2015

@berial 这是js本身的问题了。js对象是存的内存地址。变量是直接存的内存

@berial
Copy link

berial commented Nov 10, 2015

谢谢了,刚接触ionic,看网上的教程里都是直接绑定的变量,没想到会出问题。

@ychow
Copy link
Owner Author

ychow commented Nov 10, 2015

@berial 网上的教程都是速成。最好的学习方式就是直接看官方文档。ionic的文档写得还是不错的

@berial
Copy link

berial commented Nov 10, 2015

@ychow 我是做Android的,但公司让我接手一个ionic的项目,给的时间很少,只能求个速成,文档还是在看,不过英文太烂,看起来比较吃力。

@ychow
Copy link
Owner Author

ychow commented Nov 10, 2015

@berial 加油

@berial
Copy link

berial commented Nov 14, 2015

哥们,我在上拉加载更多的ion-infinite-scroll 加了 immediate-check='false' 属性,页面显示的时候还是会默认加载一次,这是什么问题

@ychow
Copy link
Owner Author

ychow commented Nov 16, 2015

@berial 啥意思 最好有代码或是效果图

@berial
Copy link

berial commented Nov 16, 2015

@ychow 不用了,改好了

@niuqiong
Copy link

niuqiong commented Dec 2, 2015

ios用header-bar自己写的头都有问题

@ychow
Copy link
Owner Author

ychow commented Dec 2, 2015

@MissSui
1、是bar-header吗? 具体有什么问题呢?我们也用过没有发现它有啥问题。
2、关于slidebox的这个问题具体是什么意思?没有看明白

@niuqiong
Copy link

niuqiong commented Dec 7, 2015

1.头部问题:在ios系统和android中自定义的头会有问题,尤其是加了logo之后,但是这个可以通过控制样式来改变
2.slidebox做轮播图的时候循环会有问题

@ychow
Copy link
Owner Author

ychow commented Dec 9, 2015

循环应该没有问题。加上参数就行了

@lllang
Copy link

lllang commented Dec 14, 2015

之前楼上说的那个ActionSheet的样式问题有没有好的解决办法?

@ychow
Copy link
Owner Author

ychow commented Dec 21, 2015

@lllang 在配置里面统一下就行了

@andymiao858
Copy link

用ionic开发的应用,当页面超出一屏即当页有上下滚动条时,在苹果手机上点击输入框时,键盘弹出时,页面的头部会向下移动一下再回到顶部,即出现头部跳一下的情况,这种情况有解决方案么?谢谢!

@ychow
Copy link
Owner Author

ychow commented Jan 21, 2016

@andymiao858 ionic-team/ionic-framework#2285 看看这里 貌似是你要的

@berial
Copy link

berial commented Jan 21, 2016

iOS上有的时候在软键盘右上方会出现一个英文的"DONE",如何改成中文的。。

@ychow
Copy link
Owner Author

ychow commented Jan 21, 2016

@berial 这个前端恐怕控制不了。。。

@ychow
Copy link
Owner Author

ychow commented Jan 21, 2016

@berial 除非是Hybrid APP 应该可以自定义软键盘

@wizard-a
Copy link

把输入框input定位在最下边,ios 输入框获取到焦点弹出键盘后会导致整个内容页顶上去;有好的解决办法吗?

@syrupH
Copy link

syrupH commented Sep 29, 2016

使用背景图片,然后在里面布局input,input输入的时候会把真个背景图顶上去。。。怎么破!求助

@aamis520
Copy link

页面的内容区域是引的iframe 单页跳转 导航栏的返回按钮怎么实现在首页的情况下隐藏(单页内跳转 URL不变)

@ychow
Copy link
Owner Author

ychow commented Mar 22, 2017

@aamis520 加一个ng-if。判断下。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

10 participants