Наследование Angular
Как реализовать наследование через синтаксис 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 } } }) })(); |
Часовой пояс GMT +3, время: 01:48. |