Обновление с AngularJS 1.5 до 1.7 выдает «Не удается скопировать! Копирование экземпляров Window или Scope не поддерживается» - PullRequest
0 голосов
/ 12 ноября 2018

Я хотел бы скопировать мой контроллер.У меня был следующий код (недействительный в угловой 1.7):

link: function(scope, elm, attrs, ctrl) {
        if (!ctrl) {
            return;
        }

        // Do a copy of the controller
        scope.ctrlCopy = {};
        angular.copy(ctrl, scope.ctrlCopy); // <- fail here

Это не с:

Не удается скопировать!Копирование экземпляров Window или Scope не поддерживается

Я пробовал Object.copy, но мне нужен прототип функции контроллера ($setValidity)

1 Ответ

0 голосов
/ 12 ноября 2018

Я делаю это так:

scope.ctrlCopy = Object.assign(Object.create(ctrl.__proto__), ctrl);

Где Object.create(ctrl.__proto__) используется для создания функций-прототипов И присваивает для создания глубокой копии.

...