как соединить 2 объекта в ионном через бэкэнд

0

Мне нужно немного помочь моему ионному проекту. поэтому я хочу подключить 2 объекта в ионном, чтобы я мог отображать значение и объект, у которого есть данные от другого объекта.

<ion-list class="list-inset">
  <ion-item class="item-text-wrap" ng-repeat='item in todos| filter:firma'>
  <h2>{{item.company_name}}</h2>
 </ion-item>
 <ion-item class="item-text-wrap" ng-repeat='item in todos2 | filter:{ idcompany:com_id } '>
 <h2>ponedeljek {{item.time_mon_start}}-{{item.time_mon_end}}</h2>
 <h2>torek {{item.time_tue_start}}-{{item.time_tue_end}}</h2>
 <h2>sreda {{item.time_wed_start}}-{{item.time_wed_end}}</h2>
 <h2>četrtek {{item.time_thu_start}}-{{item.time_thu_end}}</h2>
 <h2>petek {{item.time_fri_start}}-{{item.time_fri_end}}</h2>
 <h2>sobota {{item.time_sat_start}}-{{item.time_sat_end}}</h2>
 <h2>nedelja {{item.time_sun_start}}-{{item.time_sun_end}}</h2>
</ion-item>

это то, что я хочу отобразить для текущей компании, на которую я нажимаю, но она показывает все время не только то, что я хочу.

.controller('AppCtrl', function($scope, TodoService, cas, $state) {
$scope.todos = [];
$scope.todos2 = [];

function getAllTodos() {
  TodoService.getTodos().then(function (result) {
    $scope.todos = result.data.data;
    $scope.firma = $state.params.aid;

  });
}
getAllTodos();

function getalltimes() {
  cas.getcompany().then(function (result) {
 $scope.todos2 = result.data.data;
});

}

getalltimes();
})

.service('TodoService', function ($http, Backand, $state) {
var baseUrl = '/1/objects/';
var objectName = 'companies/';

function getUrl() {
return Backand.getApiUrl() + baseUrl + objectName;
}
function getUrlForId(id) {
return getUrl() + id;

}
getTodos = function () {
return $http.get(getUrl());
};
return {
getTodos: getTodos
}
})

.service('cas', function ($http, Backand, $state) {
var baseUrl = '/1/objects/';
var time = 'companies_timetable/';

function getUrl2() {
return Backand.getApiUrl() + baseUrl + time;
}
getcompany = function () {
return $http.get(getUrl2());
};
 return {
getcompany: getcompany
}
})

это теперь мой файл app.js и мое соединение с backand service. это работает нормально.

это компании с объекта 1

и это время, показывающее

поэтому, когда вы нажимаете на компанию, она должна показывать время для нее. но здесь он показывает все время, которое находится в объекте. я должен показать только одну для одной компании, которую я пытался передать всем объектам в одном массиве (todos). но не очень хорошо работал. поэтому, пожалуйста, мне нужна помощь. если вам нужен еще какой-то код или что-то, просто скажите это :).

Теги:
ionic-framework
object
backand

1 ответ

0

Второй фильтр неверен.

Самый простой способ исправить это - вызвать функцию в $ scope.

Измените свой фильтр следующим образом:

 <ion-item class="item-text-wrap" ng-repeat='item in todos2 | filter: isCurrentFirma '>

Затем добавьте функцию в контроллер:

$scope.isCurrentFirma = function(item){
  // here check if item is equal to firma

  // code like this:
  return item.idcompany === $scope.firma.com_id
}
  • 0
    почему-то это дает мне тот же результат, что и я. теперь я снова получаю все время не только то, что мне нужно.
  • 0
    я зашел в консоль и там говорится, что com_id не определен.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню