Доступ к унаследованной области действия в дочернем контроллере с использованием контроллера в качестве синтаксиса - PullRequest
0 голосов
/ 20 декабря 2018

Я пытаюсь получить доступ к области действия моего родительского контроллера (который использует контроллер в качестве синтаксиса) из моего дочернего контроллера (который также использует контроллер как).

Я пытался использовать bindToController: true, а также просто объявить scope: true в объявлении директивы, но я не могу получить к нему доступ.

angular.module("testapp").directive("testdirective", function () {
    return {
        restrict: 'E',
        templateUrl: '../Scripts/AngularJS/Partials/testdirective.html',
        scope: true,
        bindToController: true
    };
});

Но при печати this с контроллера я ничего не вижу в родительской области видимости:

function testcontroller() {
    var self = this; 

    console.log(self); 
}

Я знаю, что использование $ scope может быть простым решением,однако это идет вразрез со всеми правильными практиками, которые я прочитал, и я не хочу смешивать два способа делать вещи.

1 Ответ

0 голосов
/ 25 декабря 2018

Смысл bindToController: true состоит в том, чтобы использовать его с изолированной областью, поскольку он связывает свойства области, которая была передана изолированному контроллеру, поэтому вам не нужно будет использовать '$ scope' для доступа к переданнойв значениях.

как насчет использования require ?Девиз Тодда отлично объясняет .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...