Здравствуйте, я создал переменную внутри цикла angle.forEach, который мне нужен за пределами цикла для привязки к области $ scope, но я не знаю, как выйти за пределы этого переменная miAlumno.Поместить локальную переменную в угловое. ForEach цикл в глобальном
Спасибо.
'use strict';
angular.module('jarciaApp')
.controller('alumnoCtrl', function($routeParams, $firebaseArray) {
var ref = firebase.database().ref('PrimeroA');
var JarciaArray = $firebaseArray(ref);
var id = $routeParams.id;
var curso = $routeParams.curso;
var miAlumno;
JarciaArray.$loaded()
.then(function(miAlumno) {
angular.forEach(JarciaArray, function(alumno, miAlumno) {
if (alumno.Id == id) {
var miAlumno = alumno;
}
})
});
console.log(miAlumno);
});
Не используйте 'var' на внутренней (это переопределяет' miAlumno'). Но даже это не будет регистрировать значение, где у вас есть 'console.log', поскольку' $ loaded() 'асинхронен. Вы можете просто сделать '$ scope.miAlumno' внутри цикла, если вы введете' $ scope'. –
Я не ввожу $ scope, потому что я использую, я не знаю, как он называется, «как контроллер»? Я привязываю данные к области с помощью this.variable = ..... Но я не могу использовать его внутри цикла, потому что это не область внутри цикла. –
Итак, тогда вне цикла добавьте 'var me = this;' и в цикле do 'me.miAlumno = alumno;'. Если вы говорите по-испански, возможно, 'var esto = this;' лучше :) , –