Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
链接两个函数的最佳实践,AngularJs/JavaScript_Javascript_Angularjs_Function - Fatal编程技术网

链接两个函数的最佳实践,AngularJs/JavaScript

链接两个函数的最佳实践,AngularJs/JavaScript,javascript,angularjs,function,Javascript,Angularjs,Function,我有两个功能 单击“关闭”按钮时隐藏模式 另一个功能向右滑动并将模式更改为另一个状态/视图 当用户滑动到新状态时,我遇到了模态不“隐藏”的问题。我可以看出它是有效的,但是模态仍然显示在屏幕上,我想最好的方法是将我的两个函数链接起来?这是正确的术语吗 这两个功能 隐藏模态 向右滑动以显示新的。状态 这成功了!但是 我想做的是将我激动人心的closetripInfo功能插入onSwipeRight,如下所示: 这是可行的,但我觉得不对,我犯了一个错误。。我没有成功地把它做好。也许不是那么简单。我还认

我有两个功能

单击“关闭”按钮时隐藏模式 另一个功能向右滑动并将模式更改为另一个状态/视图

当用户滑动到新状态时,我遇到了模态不“隐藏”的问题。我可以看出它是有效的,但是模态仍然显示在屏幕上,我想最好的方法是将我的两个函数链接起来?这是正确的术语吗

这两个功能

隐藏模态

向右滑动以显示新的。状态

这成功了!但是 我想做的是将我激动人心的closetripInfo功能插入onSwipeRight,如下所示:

这是可行的,但我觉得不对,我犯了一个错误。。我没有成功地把它做好。也许不是那么简单。我还认为我可能需要了解诸如承诺之类的最佳实践

错误

TypeError:$state.go….closetripInfo不是一个函数 在范围内。$Scope.onsweepRight


任何建议或资源将不胜感激。谢谢

您可以使用AngularJS承诺异步运行函数。AngularJS中的承诺由内置的$q服务提供。您可以阅读它


下面是一个关于使用$q服务的示例。这也是一个很好的博客,其中承诺被解释为卡通。

您可以使用AngularJS承诺异步运行函数。AngularJS中的承诺由内置的$q服务提供。您可以阅读它


下面是一个关于使用$q服务的示例。这也是一个很好的博客,在这里承诺被解释为卡通。

Midhun!这是伟大的,正是我所想的,但我不知道正确的方式来执行这一点!非常感谢。米都!这是伟大的,正是我所想的,但我不知道正确的方式来执行这一点!非常感谢。
$scope.closetripInfo = function() {
    $scope.modal.hide();
  };
$scope.onSwipeRight = function() {
  $state.go('app.current-trip');
}
$scope.onSwipeRight = function() {

  $scope.closetripInfo();  
  $state.go('app.current-trip').closetripInfo();
}
$scope.onSwipeRight = function() {
  var deferred = $q.defer();
  deferred.resolve('res');

  $state.go('app.current-trip');

  // We return a promise
  return deferred.promise;
}


onSwipeRight().then(function(res) {
   // Success callback
   $scope.closetripInfo();
},null);