2014-11-23 10 views
6

Bir ortalama.js uygulamasında, kullanıcı oturum açmış ve oturum açmış olsa da üst navbardaki menü öğelerini görüntülemek istedim. Kullanıcı oturum açmışken menü öğeleri görüntülenir, ancak kullanıcı oturum açıldığında bu gerçekleşmez.mean.js menu isPublic çalışmıyor

'isPublic' özelliğini true olarak ayarlayan mean.js docs durumu, kullanıcı oturum açıldığında menü öğelerinin navbarda gösterilmesine izin verir; ama bu çalışmıyor. İşte kod:

Menus.addMenuItem ('topbar', 'Talks', 'talk', 'dropdown', '/ talk (/ create)?', True); Menus.addSubMenuItem ('topbar', 'talk', 'List Sohbetleri', 'talk'); Menus.addSubMenuItem ('topbar', 'talk', 'New Talk', 'talk/create');

Baktığım çözümlerin hepsi, isPublic özelliğini true olarak ayarlamayı önerir, ancak bu konuyla ilgili çok fazla karışıklık var gibi görünüyor. Cevapları olan var mı?

cevap

8

Ortalama.js'nin core modülünde menus.client.services.js'a bakarsanız son satır şöyle görünür: this.addMenu('topbar');. this.addMenu('topbar', true); olarak değiştirirseniz. Giriş yapılmadığında üst menüde gösterilen tüm menü öğelerinizi göreceksiniz. Ardından, menü öğenizi, örneğinizde olduğu gibi veya true olmadan, yalnızca değiştirilen ayardan devralacak şekilde ekleyebilirsiniz:

umarım bu yardımcı olur

Menus.addMenuItem('topbar', 'Talks', 'talks', 'dropdown', '/talks(/create)?', false); 

:

Yoksa şimdi oturum açmadan gizlemek istiyorsanız aşağıdaki gibi

Menus.addMenuItem('topbar', 'Talks', 'talks', 'dropdown', '/talks(/create)?'); 
OR 
Menus.addMenuItem('topbar', 'Talks', 'talks', 'dropdown', '/talks(/create)?', true); 
.

+0

Mükemmel. Şuan çalışıyor. – user3681587