我正在使用Ionic(版本1)构建应用程序,并希望在用户滚动时隐藏控制器中的div。我被困住了,不知道从哪里开始。
这是我的代码:
service ||= Google::Apis::GmailV1::GmailService.new
message = RMail::Message.new
message.header['To'] = params[:gmail][:to]
message.header['From'] = current_user_google_user_id
message.header['Subject'] = params[:gmail][:subject]
message.header['Subject'] = params[:gmail][:subject]
message.body = params[:gmail][:body]
message.thread_id = params[:gmail][:thread_id]
service.send_user_message(
current_user_google_user_id,
upload_source: StringIO.new(message.to_s),
content_type: 'message/rfc822'
)
答案 0 :(得分:1)
您的问题没有解释您试图隐藏的<div>
以及您尝试使用的代码,但是您可以为on-scroll
的{{1}}指令指定一个函数吗?并在该功能中做任何你想做的事情。像这样:
ion-content
然后在你的控制器中添加一个名为<ion-content on-scroll="scrollFunction()">
的函数,或者最好是更具描述性的函数。
scrollFunction
您可以更新此函数中的变量,并将该变量分配给您要显示或隐藏的$scope.getScrollPosition = function() {
// Here you can do whatever you want when someone is scrolling.
}
的{{1}}。
回答关于ng-show
函数为什么一直返回0的其他问题。这是一个已知问题,您可以找到类似的报告here。我不完全确定为什么会发生这种情况,但似乎Ionic正在抓住不同视图的滚动位置,导致它保持为0.您可以通过为<div>
分配getScrollPosition()
来解决此问题。基本上为您提供了一个独特的标识符。它看起来像这样:
delegate-handler
然后在您的控制器中,而不是执行以下操作:
<ion-content>
你需要这样做:
<ion-content delegate-handle="scrollHandler" on-scroll="getScrollPosition()">
这应该可以解决您遇到的问题。