在指令的工厂函数退出后,AngularJS范围被传递给指令

时间:2018-03-14 15:28:47

标签: angularjs angularjs-directive angularjs-scope angularjs-controlleras

我尝试将我们使用的AngularJS模板升级到最新版本。
现在,这个模板升级到AngularJS 1.6.9。 但是现在,在我升级之后,我遇到了一个问题,即只有在退出后,来自父控制器的vm才能在指令的功能中被识别出来。这在升级之前有效,并且突然停止工作。这是指令的示例代码(此问题现在在我们的所有指令中重复出现):

(function () {
    'use strict';

    angular
        .module('app.students')
        .directive("studentOverview", StudentOverview);

    function StudentOverviewController(generalSrv, $mdDialog, $q, utilSrv, exportSrv) {

        var vm = this;
        var someField = vm.student.someField;   // vm.student is not recognized now, only after exiting the function... used to work before upgrade
    }

    function StudentOverview() {

        return {
            restrict: "AE",
            templateUrl:
                "app/main/students/views/studentDetails/tabs/studentOverview/studentOverview.html",
            controller: StudentOverviewController,
            controllerAs: "vm",
            scope: {
                student: "="
            },
            bindToController: true
        };
    }
})();  

我做错了什么?这段代码之前完美无缺。

0 个答案:

没有答案