如何在角度2中使用jQuery .on()和.off()的方式?

时间:2017-06-21 10:43:00

标签: javascript jquery angular typescript

我目前正在开展angular 2 web应用程序。实际上每当我双击提交按钮时。动作会发生两次。所以我想实现Jquery .on() .of() method

我知道逻辑。 我们可以在点击提交按钮时禁用/启用带标记的按钮。

clickFunction()
{
isdisabled=false;// disable button
if(isclicked)
//service call back  & clear the inputs
isdisabled = true;//enable button
}

但我不想手动做。所以任何关于在 angular 2 ??

中使用jQuery .on() and .off()方式的想法

4 个答案:

答案 0 :(得分:0)

我不确定你的意思"你不想手动做#34;。也许您正在寻找可以附加到带有条件的HTML按钮的[disabled]属性。

另请注意,当我们的服务返回响应时,我们会禁用该按钮。如果你把它放在subscribe()方法之外,那么它可能会太快启动按钮。

HTML

<button (click)="doAction()" [disabled]="disabled">Click</button>

JS

doAction() {
    disabled = true;
    this.myService.doServiceAction()
        .subscribe(result => {
            disabled = false
        })
}

答案 1 :(得分:0)

您可以尝试开启/关闭(启用/禁用)按钮。

error: 'Others' was not declared in this scope

答案 2 :(得分:-1)

你可以使用angular2或4来RxJs。请结帐eventsubscriber。

var source = Rx.Observable.fromEvent(document, 'mousemove');

var subscription = source.subscribe(function (e) {
  result.innerHTML = e.clientX + ', ' + e.clientY;
});

答案 3 :(得分:-2)

使用ng-disabled应该可以满足您的需求。通常,$ eval和$ apply方法执行时间不到1-2毫秒。

编辑:

使用这样的东西来发出一个事件。

<button ng-click="clicked()">button<>

在控制器中:

$scope.clicked() = function() {
   $scope.emit('clicked-once');
}



 $scope.on('clicked-once', function(event) {
  // do something here 
 })

跟踪带有标记的点击次数。