2017-07-03 69 views
0

我想在我的離子3進Web應用程序使用此NPM模塊:https://www.npmjs.com/package/ngx-disqusNGX-disqus模塊只顯示一個線程

我把它導入到這樣的page.module.ts:

import { DisqusModule } from 'ngx-disqus'; 
 
    
 
@NgModule({ 
 
    declarations: [ 
 
    SzenarioerstellungPage, 
 
    ], 
 
    imports: [ 
 
    IonicPageModule.forChild(SzenarioerstellungPage), 
 
    DisqusModule.forRoot('my_shortname'), 
 
    ], 
 
    exports: [ 
 
    SzenarioerstellungPage 
 
    ] 
 
}) 
 
export class SzenarioerstellungPageModule {}

這是我如何使用它的mypage.html文件:

<disqus [identifier] = "pageId" ></disqus>

這就是我如何設置pageId

ionViewDidLoad() { 
 
    this.szenarioProvider.getUserID().then(UID => { 
 
     this.pageId = UID; 
 
    }); 
 

 
    }

正如你所看到的,我想使用的用戶的唯一ID(這是他從拿到Firebase認證)在他的頁面上顯示一個獨特的討論線程。

現在的問題是,無論用戶何時進入此頁面,鐵餅只會顯示一個相同的線程,而不是每個用戶的單獨線程。

注:無論什麼用戶進入頁面提到,它總是有相同的URL(離子確實是這樣的。):http://localhost:8100/#/szenarioerstellung 但我想,這獨特的[indentifier]將解決這個問題。

你知道嗎,我做錯了什麼或者我需要添加什麼?

+1

[在角2應用Disqus。:顯示相同的討論]的可能的複製的要求部分(https://stackoverflow.com/questions/43095097/disqus-in-angular-2-application -showing-same-discussion) – n00dl3

+0

我認爲我的問題是另一個問題。我不想在我的頁面上有多個disqus線程。我想要disqus加載屬於進入頁面的用戶的唯一ID的線程。或者你的意思是,我不能解決我的問題,只有一個線程根據唯一的ID更改其內容? –

+0

簡短回答:ngx-disqus是非常無用的,可以構建你自己的disqus組件,並在需要時調用DISQUS.reset()方法:https://help.disqus.com/customer/portal/articles/472107-using-disqus -on-ajax-sites – n00dl3

回答

0

DISQUS在路由器中使用#時不起作用。

例如,URL http://localhost:8100/#/szenarioerstellung被讀爲http://localhost:8100/,因此無論URL如何變化,它在DISQUS方面仍然看起來相同。

有2個解決方案:

1 - 找到一種方法來配置你的路由器使用hashbang #!而不是#

2 - 從路由器禁用HashLocationStrategy所以它變得像標準的URL http://localhost:8100/szenarioerstellung

閱讀Using Disqus on AJAX sites

+0

我用'@角度/路由器'導入{路由,路由器模塊};'爲了避免#在URL中。但是,disqus只顯示一個線程。所以我認爲#並不是唯一的問題。 你有什麼建議嗎? –