使用控制器作为语法在子控制器中访问继承的作用域

时间:2018-12-20 19:50:08

标签: angularjs

我正在尝试从子控制器(也使用controller as)访问父控制器的范围(使用controller作为语法)。

我尝试使用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 :(得分:0)

bindToController: true的重点是将其与隔离范围一起使用,因为它绑定了传递给隔离控制器的范围的属性,因此您无需使用'$ scope'进行访问传入的值。

如何使用require? 托德·格托explains it excellent