Ciao ho StudentController
come segue,Come impostare la proprietà ambito di NgDialog quando si usa la sintassi controllerAs
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
});
}
}
Quando viene richiamata la funzione editStudent
, voglio aprire una finestra per mostrare l'opzione di modifica. E voglio usare lo $scope.student
di StudentController
nello edit-student.html
come dati del modello. per questa funzionalità, è possibile utilizzare la proprietà scope
di NgDialog come scope:$scope
(vedere LINE 1).
Ora sto cercando di cambiare il StudentController
come suggerito nella Angular-StyleGuide dove io non ho intenzione di utilizzare il $scope
in controller
a tutti. In tal caso, come posso accedere a student
in 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.
});
}
Aggiornamento: aggiornato con ulteriori dettagli per evitare confusione.
scusa se non ho spiegato correttamente la domanda. Non voglio usare un controller separato per ngDialog. C'è un'opzione per impostare come 'scope: $ scope'. Questa opzione funzionerà solo quando il controller corrente viene iniettato con '$ scope'. ma quando il controller corrente segue la sintassi vm, allora come dovrebbe essere questa proprietà '' scope' di 'ngDialog'? – DRB
sì, ho frainteso la tua domanda. Non so come passare lo scope in questo caso. Ma come vuoi semplicemente accedere allo studente potresti passarlo come parametro di risoluzione. Vedi la mia versione modificata. –
Stai dicendo di ereditare l'ambito genitore sul modello ngDialog che è necessario passare un parametro di risoluzione con una funzione che restituisce l'ambito corrente var? Uno per uno? Ew. – AlxVallejo