4

使用ASPNet Angular SPA模板我試圖導入NGX圖表,但它們不適用於服務器端預渲染。所以我試圖通過將NGX圖表模塊導入app.module.browser.ts來讓它們呈現客戶端。僅將角色標記爲客戶端角度通用

但是我得到的模板解析錯誤,當我做到這一點:

無法綁定來「觀察」,因爲它不是「已知屬性NGX-圖表 - 高級 - 餅圖」。

是否有正確的方法來標記組件只在瀏覽器中呈現?如果有的話,這似乎沒有很好的記錄。

或者,有沒有一種正確的方式來引用角度通用應用程序中的NGX圖表?

回答

3

此問題適用於未針對服務器端呈現進行優化的任何第三方模塊。

的解決方法是從app.module.server.ts排除模塊和導入虛擬模塊,而不是存根都從原來的模塊單元,或者至少當前應用程序中使用的那些:

@Component({ selector: 'ngx-charts-advanced-pie-chart' }) 
class DummyAdvancedPieChartComponent { 
    @Input('view') view; 
} 

如果有無法從原始模塊導入的使用提供程序,它們也應該被刪除。

僞組件和僞指令的替代方法是使用custom schemaNO_ERRORS_SCHEMA的使用是不希望的,因爲它也會抑制有用的錯誤。

+0

嗨@estus,我不認爲你知道任何一個NGX圖表的完整例子,我這​​樣做,並開始得到消息「SVG未找到」 – gmn

+0

我不確定這個消息在你的情況下指的是什麼。我建議調試應用程序,以使其顯而易見消息來自何處,儘管正在討論的模塊被扼殺。通過包含node_modules的代碼庫搜索'SVG not found'或'not found'可能會有所幫助。如果可以,請考慮提供http://stackoverflow.com/help/mcve。 – estus