Как реализовать наследование через синтаксис vm ?
Пример кода, где обычное наследование через $scope:
<!DOCTYPE html>
<html lang="en" ng-app="scope">
<head>
<meta charset="UTF-8">
<title>Angular Scope</title>
</head>
<body ng-controller="MainController as vm">
{{vm.test}} <!-- переменная из MainController -->
<div ng-controller="SecondController as vm">
{{test}} <!-- переменная из MainController -->
{{vm.test}} <!-- пусто тк SecondController vm пустой обьект, но через наследование он должен лезть в MainController -->
<main-dir></main-dir>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>
<script src="script.js"></script>
</body>
</html>
(function() {
'use strict';
angular.module('scope', []);
angular
.module('scope')
.controller('MainController', ['$scope', function ($scope) {
$scope.test = '1';
var vm = this;
vm.test = '1';
}])
.controller('SecondController', ['$scope', function ($scope) {
// тут по сути должен быть прототип на родителя MainController, и собственно в прототипе должно быть свойство test
var vm = this;
}])
.directive('mainDir', function () {
return {
restrict: 'AE',
template: '<div>{{test}}</div>',
link: function ($scope, el, attr) {
// как тут получить vm.test или нужно использовать controller вместо link
}
}
})
})();