gpt4 book ai didi

angularjs - 使用 controllerAs 语法时如何设置 NgDialog 的范围属性

转载 作者:行者123 更新时间:2023-12-04 21:38:23 26 4
gpt4 key购买 nike

嗨,我有 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.studentStudentController本身在 edit-student.html作为模型数据。对于此功能,我可以使用 scope NgDialog 的属性为 scope:$scope (见第 1 行)。

现在我正在尝试更改 StudentController正如 Angular-StyleGuide 中所建议的我不打算使用 $scope 的地方在 controller根本。在这种情况下,我如何访问 studentedit-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.
});
}

更新 : 更新了更多细节以避免混淆。

最佳答案

我觉得你有点混淆了。如果您想使用 controllerAs 语法,您需要一个自己的对话框 Controller 。
例如

function StudentController(StudentService){
var student = StudentService.getOne();
return ngDialog.openConfirm({
template: template,
className: 'ngdialog-theme-default',
controller: DialogController
controllerAs: 'vm',
resolve: {student: function() {return student; } }
});
}

function DialogController(student) {
var vm = this;
vm.student = student;
}

关于angularjs - 使用 controllerAs 语法时如何设置 NgDialog 的范围属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32479058/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com