2015-10-21 57 views
0

我正在嘗試設置一個會顯示該組和該組成員信息的組頁面。如果用戶在該組中,它將顯示該信息,但是如果用戶不在該組中,則不會顯示該信息,並且會告訴用戶他們不是該組的成員。Ember - 檢查會員是否可以查看某個組的信息

的group-info/template.hbs

{{#if isMember}} 
    'display group info' 
{{else}} 
    'do not display group info' 
{{/if}} 

當我到達的頁面上,點擊一組,在控制檯打印出該組內的成員ID的正確的數組。但是當我點擊第二組時,它會打印出第一組中的ID,當我點擊第三組時,它會打印出第二組中的ID等。

我不確定爲什麼控制檯信息總是在我選擇的組後面點擊一下。我一直在嘗試使用mapBymap方法,但我不知道是否有更好的方法來使用,或者如果我以錯誤的方式處理這個問題。

的group-info/component.js

import Ember from 'ember'; 

export default Ember.Component.extend({ 
    individualIds: Ember.computed.map('groupinfo.individuals', function(param, index) { 
    return parseInt(param.id); 
    }), 
    isMember: Ember.computed('idOfIndividuals', 'session.individual_id', function() { 
    return this.get('individualIds').contains(this.get('session.individual_id')); 
    }) 
}); 

什麼是檢查登錄的用戶(session.individual_id)是一組的成員,並且能夠查看該組的最佳方式?

回答

0

而不是檢查的,如果session.individual_id是個人的ID在groupinfo.individuals我決定檢查組的id用戶點擊匹配的任何用戶所屬的組的id之一。我還需要將當前用戶的信息傳遞給group-info組件。

的group-info/component.js

import Ember from 'ember'; 

export default Ember.Component.extend({ 
    userGroups: Ember.computed.map('currentuser.individual_groups', function(group, index) { 
    return parseInt(group.id); 
    }), 
    isMember: Ember.computed('groupinfo.id', 'userGroups', function() { 
    return this.get('userGroups').contains(parseInt(this.get('groupinfo.id'))); 
    }), 
    ... 
}); 
相關問題