AngularJS ng-click。如何通知用户他的ng-click被考虑

时间:2015-12-22 18:13:45

标签: angularjs binding angularjs-ng-click

我在移动angularjs应用程序上工作。我需要在点击<a>时使用ng-href或ng-click加载新路线。但是,当我点击我的应用程序正在等待加载路线以应用我的所有$ scope更改。例如:

 <a ng-click='changeAScopeElements()' ng-href='#/page2'></a>

在这种情况下,我更改的范围元素将在路径更改后在视图中考虑。

我想首先更改范围元素,将其应用于视图(绑定它),然后我想改变我的路线。

感谢您的帮助,

的Stephane

1 个答案:

答案 0 :(得分:1)

您可以做的是完全删除ng-href并在changeAScopeElements函数中处理您的任务,并且在该函数的操作结束时,您可以强制路由更改。

function changeAScopeElements() {
  return doAsyncWork()
            .then(function() {
                    //NOW go to page2
                    $location.path("#/page2")
                 });
}

function doAsyncWork {
  var deferred = $q.defer();

   // do your work here... once you are done run the following:
   deferred.resolve();
   return deferred.promise;
}