При запуске helper
значения значений сохраняются в переменной verCandidatos.postulados
.Проблема Angular-Meteor Meteor.publishComposite
Как только я получу информацию, мне нужно получить документ, который связан (с использованием функции ng-init="candidato = la postulado.candidato()
), которая работает на helper
из файла: collection.js
.
Иногда html
показывает свойство: {{candidato.nombre}}
, {{candidato.apellidos}}
и {{candidato.sexo}}
правильно, а иногда появляется пустым, почему?
Очень странно, как bug
или что-то в этом роде. Как это возможно?
Информация получена, потому что ng-repeat
работает и показывает элементы.
Ниже publishComposite(), collection.js, html
и js
клиент
HTML клиент
мое-приложение/импорт/щ/компоненты/vacantes/verCandidatos/ verCandidatos.html
<div ng-repeat="postulado in verCandidatos.postulados">
<div ng-init="candidato = postulado.candidato();">
{{candidato.nombre}}
{{candidato.apellidos}}
{{candidato.sexo}}
</div>
</div>
JS в клиенте
мои-приложение/импорт/UI/компоненты/vacantes/verCandidatos/ verCandidatos.js
imports ...
class VerCandidatos {
constructor($scope, $reactive, $stateParams) {
'ngInject';
$reactive(this).attach($scope);
this.vacanteId = $stateParams.vacanteId;
this.subscribe('vacantes.candidatosOseleccionados',()=> [{vacanteId: this.vacanteId}, {estado: 1}]);
this.helpers({
postulados(){
return Postulaciones.find();
}
});
}
}
collection.js
мое-приложение/импорт/API/postulaciones/ collection.js
imports...
export const Postulaciones = new Mongo.Collection('postulaciones');
Postulaciones.deny({...});
Postulaciones.helpers({
candidato(){
return Candidatos.findOne({_id: this.candidatoId});
}
});
publish.js:
мои-приложение/импорт/API/vacantes/сервер/ publish.js
imports...
if (Meteor.isServer) {
Meteor.publishComposite('vacantes.candidatosOseleccionados', function (vacanteId, estado) {
const selector = {$and: [estado, vacanteId]};
return {
find: function() {
return Postulaciones.find(selector);
},
children: [
{
find: function (postulacion) {
return Candidatos.find({_id: postulacion.candidatoId}, {
fields: {
nombre: 1,
apellidos: 1,
sexo: 1,
}
});
}
}
]
};
});
}
Любые идеи? - Спасибо,