Обнаружение изменений в Angular 2

Я интегрирую угловые 1 и угловые 2 вместе. Поэтому у меня есть угловой 1 контроллер и сервисная и угловая 2 компонента. Те отлично работают для извлечения и хранения данных, наоборот. Ниже моя HTML-страница.

<body>
<h3>Angular 1 service</h3>
<div ng-controller="MainController">
    <input ng-model="username" />
    <button ng-click="setUser()">Set User</button>
    <button ng-click="getUser()">Get User</button>
    <div>User in service : {{user}}</div>
</div>
<hr>
<h3>Angular 2 component uses Angular 1 service</h3>
<user-section></user-section>
</body>

Контроллер, как показано ниже,

myApp.controller('MainController', function ($scope, UserService) {
    $scope.getUsers = function () {
        UserService.setUser($scope.username);
        window.location = './angular2.html'
    };

    $scope.setUser = function () {
        UserService.setUser($scope.username);
        $scope.user = $scope.username;
    };

    $scope.getUser = function () {
        $scope.user = UserService.getUser();
    };
});

Сервис, как показано ниже,

function UserService(){
    this.user = "default";
}

UserService.prototype.getUsers = function(){
    var users = ['user1', 'user2', 'user3'];
    return users;
}

UserService.prototype.setUser = function(usr){
    this.user = usr;
}

UserService.prototype.getUser = function(){
    return this.user;
}

Угловой 2-компонент, как показано ниже,

    import {Component, Inject} from 'angular2/core';

    @Component({
        selector: 'user-section',
        templateUrl: '<div>
                      <input [(ngModel)]="username" />
                      <button (click)="setUser()">Set User</button>
                      <button (click)="getUser()">Get User</button>
                      <button (click)="getUsers()">Get Users</button>
                      <br/>
                      <ul>
                       <li *ngFor="#userId of users">{{userId}}</li>
                      </ul>
                      <div>User in service : {{user}}</div>
                      </div>'
   })
 export class UserSection {
        constructor(@Inject('UserService') userService:UserService) {
                this.users = [];
                this.username = '';
                this._UserService = userService;    
            }

        getUsers(){
            this.users = this._UserService.getUsers();
        }

        setUser(){
            this._UserService.setUser(this.username);
        }

        getUser(){
            this.user = this._UserService.getUser();
        }
    }

Событие (getUser) должно быть запущено всегда для угла 2, чтобы получить имя от угла 1. Рабочий поршеньhttps://plnkr.co/edit/fYbIeJUUY7Xst7GEoi2v?p=preview Я хочу обновить угловую модель 2 всякий раз, когда изменяется угловой вход 1. Есть ли способ сделать это? В angular 2 есть слушатели, но я не знаю, как заставить их слушать услугу angular 1.

Ответы на вопрос(1)

Ваш ответ на вопрос