mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2026-03-13 10:22:08 +08:00
refactor(controllers): only assign to parent scope when needed
This commit is contained in:
8
js/ext/angular/src/directive/ionicBar.js
vendored
8
js/ext/angular/src/directive/ionicBar.js
vendored
@@ -124,14 +124,14 @@ function barDirective(isHeader) {
|
||||
alignTitle: $attr.alignTitle || 'center'
|
||||
});
|
||||
|
||||
$parse($attr.controllerBind ||
|
||||
(isHeader ? '$ionicHeaderBarController' : '$ionicFooterBarController')
|
||||
).assign($scope, hb);
|
||||
|
||||
var el = $element[0];
|
||||
//just incase header is on rootscope
|
||||
var parentScope = $scope.$parent || $scope;
|
||||
|
||||
$parse($attr.controllerBind ||
|
||||
(isHeader ? '$ionicHeaderBarController' : '$ionicFooterBarController')
|
||||
).assign(parentScope, hb);
|
||||
|
||||
if (isHeader) {
|
||||
$scope.$watch(function() { return el.className; }, function(value) {
|
||||
var isSubheader = value.indexOf('bar-subheader') !== -1;
|
||||
|
||||
@@ -120,7 +120,7 @@ angular.module('ionic.ui.sideMenu', ['ionic.service.gesture', 'ionic.service.vie
|
||||
$scope.sideMenuContentTranslateX = 0;
|
||||
|
||||
$parse($attrs.controllerBind || '$ionicSideMenusController')
|
||||
.assign($scope.$parent || $scope, this);
|
||||
.assign($scope, this);
|
||||
}],
|
||||
replace: true,
|
||||
transclude: true,
|
||||
|
||||
@@ -18,11 +18,8 @@ describe('Ionic Angular Side Menu', function() {
|
||||
var el = $compile('<ion-side-menus controller-bind="supermodel"></ion-side-menus>')($rootScope.$new());
|
||||
var scope = el.scope();
|
||||
expect(el.controller('ionSideMenus')).toBeDefined();
|
||||
expect(scope.$parent.supermodel).toBe(el.controller('ionSideMenus'));
|
||||
expect(scope.supermodel).toBe(el.controller('ionSideMenus'));
|
||||
}));
|
||||
|
||||
it('should init with custom model attr', function() {
|
||||
});
|
||||
});
|
||||
|
||||
describe('Ionic Side Menu Content Directive', function () {
|
||||
|
||||
Reference in New Issue
Block a user