在NativeScript ios tap事件中停止事件传播

在NativeScript ios tap事件中停止事件传播,nativescript,stoppropagation,Nativescript,Stoppropagation,我的代码中有一个tap事件。其父级(非直接父级)也有tap事件。在安卓系统中,一切正常。但是在ios中,事件向上传播到该父级。如何停止该事件传播(例如javascript中的event.stopPropagation()) 示例XML代码: <StackLayout tap="newsDetails" data-args="{{ $value }}"> <StackLayout orientation="horizontal" > <L

我的代码中有一个
tap
事件。其父级(非直接父级)也有
tap
事件。在安卓系统中,一切正常。但是在
ios
中,事件向上传播到该父级。如何停止该事件传播(例如
javascript
中的
event.stopPropagation()

示例XML代码:

<StackLayout  tap="newsDetails" data-args="{{ $value }}">
     <StackLayout orientation="horizontal" >
         <Label text="Share" class="icon" tap="shareNews" data-args="{{ $value }}"/>
     </StackLayout>
</StackLayout>

注意:我正在使用NativeScript core


谢谢。

您可以使用boolean属性,但是,这不会解决问题,因为它也会停止所有嵌套元素的用户交互。在同一个区域中有多个点击事件是不好的做法。

我在android上也遇到了同样的问题,下面是我提出的一个简单的解决方案,不优雅,但有效:

private ignoreTap = false;

shareNews(){
  this.ignoreTap = true;
  // ...
}

newsDetails(){
  if (this.ignoreTap) { this.ignoreTap = false; return; }
  // ...
}

标志ignoreTap将停止根函数的执行。

是否有其他解决方案来执行此操作,因为它不符合我的要求。否-这只是iOS上事件传播的工作方式。看到这个了吗