fix(scroll): find delegate by historyId

Closes #2572
This commit is contained in:
Adam Bradley
2014-11-18 16:07:55 -06:00
parent bc3826d5c0
commit 46cbaf9527
6 changed files with 21 additions and 10 deletions

View File

@@ -335,11 +335,12 @@ function($scope, $element, $attrs, $compile, $timeout, $ionicNavBarDelegate, $io
self.title = function(newTitleText, headerBar) {
if (arguments.length) {
if (isDefined(newTitleText)) {
newTitleText = newTitleText || '';
headerBar = headerBar || getOnScreenHeaderBar();
headerBar && headerBar.title(newTitleText);
$scope.$title = newTitleText;
$ionicHistory.currentTitle(newTitleText);
}
return $scope.$title;
};

View File

@@ -11,7 +11,8 @@ IonicModule
'$location',
'$document',
'$ionicScrollDelegate',
function($scope, scrollViewOptions, $timeout, $window, $location, $document, $ionicScrollDelegate) {
'$ionicHistory',
function($scope, scrollViewOptions, $timeout, $window, $location, $document, $ionicScrollDelegate, $ionicHistory) {
var self = this;
// for testing
@@ -31,7 +32,7 @@ function($scope, scrollViewOptions, $timeout, $window, $location, $document, $io
var deregisterInstance = $ionicScrollDelegate._registerInstance(
self, scrollViewOptions.delegateHandle, function() {
return !$scope.$$disconnected;
return !$scope.$$disconnected && $ionicHistory.currentHistoryId() == $scope.$historyId;
}
);

View File

@@ -4,9 +4,8 @@ IonicModule
'$element',
'$attrs',
'$compile',
'$ionicHistory',
'$ionicViewSwitcher',
function($scope, $element, $attrs, $compile, $ionicHistory, $ionicViewSwitcher) {
function($scope, $element, $attrs, $compile, $ionicViewSwitcher) {
var self = this;
var navElementHtml = {};
var navViewCtrl;
@@ -44,8 +43,6 @@ function($scope, $element, $attrs, $compile, $ionicHistory, $ionicViewSwitcher)
var viewTitle = $attrs.viewTitle || $attrs.title;
$ionicHistory.currentTitle(viewTitle);
var buttons = {};
for (var n in navElementHtml) {
buttons[n] = generateButton(navElementHtml[n]);
@@ -77,7 +74,6 @@ function($scope, $element, $attrs, $compile, $ionicHistory, $ionicViewSwitcher)
if (viewTitleAttr) {
deregisters.push($attrs.$observe(viewTitleAttr, function(val) {
navViewCtrl.title(val);
$ionicHistory.currentTitle(val);
}));
}