2016-05-17 19 views
0

私のイオンプロジェクトには少しの助けが必要です。だから私はイオンの2つのオブジェクトを接続したいので、私は他のオブジェクトからのデータを持つオブジェクトの値を表示することができます。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ファイルとバックエンドサービスへの接続です。これは正常に動作しています。

this are the companys from object 1

and this are the times showing

あなたが同社をクリックしたときに、それはそれのための時間が表示されるはずです。ここにはオブジェクト内にあるすべての時間が表示されます。私は1つの会社のために1つだけを表示する必要があります 私は1つの配列(todos)ですべてのオブジェクトを与えることを試みていました。しかし、うまくいきませんでした。だから私はいくつかの助けが必要です。もっとコードが必要な場合や、何も言わない場合は:)。

答えて

0

2番目のフィルタが間違っています。

これを修正する最も簡単な方法は、$ 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

何とかそれは私に私が得た同じ結果を与えます。今私は、私が必要とするものだけでなく、いつも再び得る。 – tomaz

+0

私はコンソールに入って、com_idが定義されていないと言っています。 – tomaz

+0

大丈夫ですが、この機能は大丈夫ですが、今は会社にいるときはいつでも表示されません – tomaz

関連する問題