我从angular2和ionic2开始;
在ionic2中,我有一个按钮,可以调用我的组件的方法。像这样:
next
我应该使用NULL
- angular2 OR import glob
import numpy as np
import os
import pandas as pd
import sys
def process_txt_file(txt_filename, f):
root, ext = os.path.splitext(txt_filename)
fasta_filename = root + '.fasta'
print('processing {} -> {}'.format(txt_filename, fasta_filename))
df = pd.read_csv(txt_filename, sep='\t' )
with open(fasta_filename, "w") as out:
f.seek(0) # rewind
for line in f:
title = line[1:].rstrip()
seq = f.readline().rstrip()
if df['ReadID'].str.contains(title).any():
out.write('>{0}\n{1}\n'.format(title, seq))
if __name__ == '__main__':
if len(sys.argv) != 2:
print('usage: {} <path-to-txt-files-directory>'.format(sys.argv[0]))
sys.exit(2)
with open('VD.fasta', "r+") as f:
for input_filename in glob.glob(os.path.join(sys.argv[1], 'H*.txt'):
process_txt_file(input_filename, f)
- ionic2?
像这样:
<button secondary clear large>
</button>
(click)
(tap)
(click)
有一些区别吗?你可以在里面看到<button secondary clear large (click)="pause()">
</button>
http://ionicframework.com/docs/v2/components/#gestures
THX。
答案 0 :(得分:50)
如果制作移动应用,(tap)
可能会更好。这是因为当使用(click)
时,操作总是会执行,即使在意外点击时也是如此。 (tap)
如果用户持有较长时间,则不会执行(press)
。如果您想要一个需要长时间点击的按钮,可以使用(click)
。
请注意,在某些离子版本中,(tap)
事件不会在iOS上执行。因此,建议使用{{1}}。
答案 1 :(得分:11)
我认为这实际上取决于您希望用户体验如何“原生”。
(tap)
事件来自Hammer.js library。如果您查看链接,您将看到必须满足的要求才能触发点击事件。
需要注意的第一个要求是时间选项,默认值为250毫秒。这意味着如果按下的时间超过250毫秒,则事件不会触发。
需要注意的第二个要求是阈值选项,默认值为2(不确定这是什么单位,可能是像素)。这意味着如果印刷机的移动大于2,则事件不会触发。例如。在屏幕上方从左到右移动手指,然后在此移动过程中按下元素,根据移动速度,事件可能无法触发。
然而
在我刚刚指出的两种情况下,(click)
事件仍将触发,只要释放按下时它仍然在目标元素内。
一开始,我说“它真的取决于”的原因是基于其他应用程序如何处理这些场景(每个应用程序可能会有所不同,并且它可能也会根据用例的结果而有所不同)。
据我所知,我检查的Android应用程序上的按钮(具有可视化结果的按钮,例如导航或弹出消息)的工作方式与Angular提供的(click)
事件相同。
我无法评论IOS应用程序如何使用与我未测试过的原理相同的原理。
我并不是说在每个用例(click)
都应该使用(tap)
而不是<tbody>
<tr ng-repeat="track in machine.noteMatrix2">
<td ng-repeat="step in track">
<div ng-model="step.value">
{{step.value}}
</div>
</td>
</tr>
</tbody>
,但请尝试考虑其他原生应用程序的行为,并从那里决定最适合的用途。
答案 2 :(得分:3)
我想补充一点,您可以对button, a
等元素使用(点击)事件,但对于非按钮元素,属性tappable
非常有用:
如果您想要非按钮元素的即时点击,您必须向该元素添加tappable
指令,否则它有300毫秒的延迟。例如:
<div tappable (click)="someHandler()">Click me</div>
答案 3 :(得分:1)
我在iOS中遇到了(click)
的问题,但在Android中它运行正常。在iOS中,当我更改了应用程序语言时,在点击链接后,它没有做任何事情。我认为这与Ionic click blocker https://github.com/driftyco/ionic/issues/6996有关。
但是,在语言更改链接立即生效后,我将(click)
更改为(tap)
。当语言选择没有做任何事情时(甚至在等待一段时间之后)我也遇到了问题,并且也从(click)
改为(tap)
并且它现在完美地运行了。
答案 4 :(得分:1)
除了最高投票问题之外,我还想指出(tap)
在用作参数时处理$event
的方式不同。
如果我没记错的话,在使用(tap)
时,target
中的$event
属性将是您实际点击的元素,而不是具有(tap)
事件绑定的元素。
如果您的元素中包含与(tap)
绑定的子元素,那么这将是相关的。
答案 5 :(得分:-1)
iOS一般会遇到点击事件的问题(如果您在浏览器控制台中使用自适应移动设备进行测试,则会在网络上发生事件。)
通常情况下,用户必须单击两次才能执行操作。
我发现这是因为如果您正在进行移动开发(Chrome控制台甚至iOS模拟器),您将不得不使用(点击)事件。
问题很难知道,因为它的不规则行为,当你使用(点击),
通常不可点击的东西时,会出现这个问题。
因此,如果你对这些元素使用(点击)并(点击),一切都应该正常。
我的建议是两者都用得更好!