angularjs - Controller As inheritance with $controller -


i have pretty big question issue thought might easy split in smaller ones.

so, i'm trying use $controller inherit parentcontroller, things not working expected.

i have jsfiddle here. , code.

angular     .module("app",[])     .controller('parentcontroller', parentcontroller)     .controller('childcontroller', childcontroller)      parentcontroller.$inject = ['$scope']     childcontroller.$inject = ['$controller', '$scope'];  function parentcontroller($scope) {     var vm = this;          vm.foo = 'parent foo'; }  function childcontroller($controller, $scope) {      $controller('parentcontroller vm', {$scope: $scope});          var vm = $scope.vm; // view model        } 

and simple html

<div>   {{vm.foo}} </div> 

when configure app use parentcontroller, this

<body ng-app="app" ng-controller="parentcontroller vm"> 

it works fine.

but now, childcontroller, not working, it's vm not include property foo created in parentcontroller.

what doing wrong?

many thanks.

if want go approach need extend child controller base parent controller. can use angular.extend this:

function childcontroller($controller, $scope) {     angular.extend(this, $controller('parentcontroller', {$scope: $scope}));     this.bar = 'child bar'; } 

just make sure first extend child controller instance object (this) parent controller instance, , after define new child properties.

demo: http://plnkr.co/edit/mdycoudzsluv06amnozg?p=preview


Comments

Popular posts from this blog

php - Wordpress website dashboard page or post editor content is not showing but front end data is showing properly -

How to get the ip address of VM and use it to configure SSH connection dynamically in Ansible -

javascript - Get parameter of GET request -