AngularJS从另一个控制器继承单个作用域
有没有办法通过$controller将单个作用域从一个控制器继承到另一个控制器 这是我目前的代码:AngularJS从另一个控制器继承单个作用域,angularjs,Angularjs,有没有办法通过$controller将单个作用域从一个控制器继承到另一个控制器 这是我目前的代码: var peopleApp = angular.module('peopleApp', []); peopleApp.controller('indexController', function($scope){ $scope.sampleVar = "Hello World"; $scope.sampleVar2 = "Hello World Again"; }); peo
var peopleApp = angular.module('peopleApp', []);
peopleApp.controller('indexController', function($scope){
$scope.sampleVar = "Hello World";
$scope.sampleVar2 = "Hello World Again";
});
peopleApp.controller('addController', function($scope, $controller){
$controller('indexController', {$scope.sampleVar: $scope.sampleVar});
alert($scope.sampleVar);
});
我知道这会抛出一个错误,因为“$controller('indexController',{$scope.sampleVar:$scope.sampleVar}”);“应该是“$controller('indexController',{$scope:$scope}”);”但是概念或所需的返回已经存在。是否只继承1个值($scope.sampleVar)从范围?应该是这样的:这不是一个好的设计
$controller('indexController',{$scope.sampleVar:$scope.sampleVar})代码>如果要在两个控制器之间共享单个属性,请创建一个服务。
<body ng-controller="parentController">
<div ng-controller="childController1">
</div>
<div ng-controller="childController2">
</div>
</body>
var app = angular.module('sample',[])
app.controller('controller1',function($rootScope,$scope){
$rootScope.parent ="I am visible in any controller";
})
app.controller('controller2',function($rootScope,$scope){
//here you can access rootScope property using rootScope or Scope
// Because rootScope is parent for all scope object
// Angular scope protochain is like javascript protochain it looks from child to parent scope
console.log( $rootScope.parent);
console.log($scope.parent);
})