我在移动angularjs应用程序上工作。我需要在点击<a>
时使用ng-href或ng-click加载新路线。但是,当我点击我的应用程序正在等待加载路线以应用我的所有$ scope更改。例如:
<a ng-click='changeAScopeElements()' ng-href='#/page2'></a>
在这种情况下,我更改的范围元素将在路径更改后在视图中考虑。
我想首先更改范围元素,将其应用于视图(绑定它),然后我想改变我的路线。
感谢您的帮助,
的Stephane
答案 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;
}