Мне явно не хватает чего-то базового с onsen/angular, но я не понимаю, как я могу передать параметр в службу, которая запрашивает БД. Все нормально, когда я жестко кодирую запрос вместо использования параметра «id»:
.factory('Inscription', function(DB) {
var self = this;
self.all = function(id) {
return DB.query('SELECT * FROM inscription where project_id = ? limit 100', [3])
.then(function(result){
return DB.fetchAll(result);
});
};
но я не уверен, как динамически передать параметр id в этот запрос. Соответствующий код контроллера:
.controller('InscriptionsCtrl', function($scope, Inscription) {
$scope.inscriptions = [];
$scope.inscription = null;
// Get all the project inscriptions
Inscription.all().then(function(inscriptions) {
$scope.inscriptions = inscriptions;
});
который используется в списке:
<ons-template id="showProject.html">
<ons-page>
<ons-list ng-controller="InscriptionsCtrl">
<ons-list-item ng-repeat="inscription in inscriptions" ng-click="navi.pushPage('showInscription.html')">
{{inscription.title}} - {{inscription.description | limitTo:50}}...
</ons-list-item>
</ons-list>
</ons-page>
</ons-template>
Этой странице со списком передается идентификатор проекта для использования в запросе БД:
$scope.ons.navigator.pushPage('showProject.html', {project_id: id});
Я просто не знаю, как передать этот идентификатор контроллеру, чтобы сформировать правильный запрос.