使用controllerAs语法时如何设置NgDialog的scope属性

时间:2015-09-09 12:02:02

标签: angularjs ng-dialog

您好StudentController如下,

function StudentController($scope,StudentService){
    $scope.student = StudentService. getStudent();

   $scope.editStudent = function(){
    return ngDialog.openConfirm({
                      template: 'edit-student.html',
                      className: 'ngdialog-theme-default',
                      scope   : $scope // LINE 1
                });
   }
}

调用editStudent函数时,我想打开一个对话框来显示编辑选项。我想在$scope.student中使用StudentController本身的edit-student.html作为模型数据。对于此功能,我可以使用NgDialog的scope属性作为scope:$scope(参见第1行)。

现在我正按照Angular-StyleGuide中的建议更改StudentController,我根本不会使用$scope中的controller。在这种情况下,如何在student中访问edit-student.html

function StudentController(StudentService){
        var vm = this;
        vm .student = StudentService.getStudent();

        return ngDialog.openConfirm({
                          template: 'edit-student.html',
                          className: 'ngdialog-theme-default',
                          scope   : ???
                         // $scope is not used in this controller. 
                         //Then what should I send instead?
                         // I tried using scope :  vm . But it didn't work. 
                    });
        }

更新:更新了更多详细信息以避免混淆。

1 个答案:

答案 0 :(得分:0)

我认为你可以完全省略它。这似乎对我有用。