如何在库组件上禁用自定义事件?

时间:2019-08-20 08:25:39

标签: javascript angular angular-components angular-event-emitter

ux-components库中有一个切换器组件,它可以处理多个事件。这些事件处理程序之一称为onValueChange。 我想阻止默认行为,并完全禁止触发该事件。

我尝试了一些js方法,例如preventDefault()。似乎不适用于自定义事件。

这是我的具有onValueChange事件的组件。

<ux-switcher-field 
  (onValueChange) = "someFunc()" >
</ux-switcher-field>

这是事件发射器:

@Output()
public onValueChange = new EventEmitter<UxValueChangeEvent<T>>();

正如我所说,我只是想禁止该事件在一个特定的位置触发。

2 个答案:

答案 0 :(得分:0)

您可以在模板中使用event.preventDefault()这样

@method_decorator([login_required, teacher_required], name='dispatch')
class QuizResultsView(APIView):
    def get_object(self, pk):
        try:
            return Snippet.objects.get(pk=pk)
        except Snippet.DoesNotExist:
            raise Http404

    def get(self, request, pk, format=None):
          quiz = self.get_object(pk)
          # --- rest of the code ---
          return Response(extra_content)

答案 1 :(得分:0)

您可以使用$event.stopPropagation()取消活动。

代码应如下所示:

<ux-switcher-field 
  (onValueChange) = "$event.stopPropagation()" >
</ux-switcher-field>

有关stopPropagation的更多详细信息,您可以在这里阅读:

stopPropagation description