在这里你可以找到一些用于角材料中sidenav的服务:
https://material.angularjs.org/latest/api/service/ $ mdSidenav
我正在使用的是这个:
// Async close the given sidenav
$mdSidenav(componentId)
.close()
.then(function(){
$log.debug('closed');
});
我只是以这种方式将其包含在一个函数中:
$scope.closeNavDrawer = function () {
$mdSidenav('versionNav')
.close()
.then(function () {
$scope.myFunction();
});
};
所以我可以在我的html视图中调用closeNavDrawer()
来关闭导航。它正在发挥作用。当我点击按钮关闭时,它会正确启动$scope.myFunction();
。奇怪的行为是因为如果我在http get请求之后调用closeNavDrawer()
,它会关闭导航但函数不会启动。
$http({
method: 'GET',
url: '/someUrl'
}).then(function successCallback(response) {
$scope.closeNavDrawer(); // it close the nav but not starts $scope.myFunction();
}, function errorCallback(response) {
});
这种不同的行为怎么可能?