使用Aurelia router.navigate传递对象到视图

时间:2016-11-02 21:47:45

标签: aurelia aurelia-navigation

当我点击一行时,我需要做一个主要细节视图。我有code in a branch here's the commit link

  let urlDetail = this.router.generate('energy-details', {model: this.model});
  this.router.navigate(urlDetail);

这样可行,但查询字符串很糟糕。如何在内存中发送模型?

这真的很难找到一个例子。 https://github.com/softchris/aurelia是最好的。 有没有更好的方法来进行主 - 细节视图?我是Aurelia的新手。

http://localhost:5000/#/energy-details?model%5BdataSeriesId%5D=ES&model%5BcountryId%5D=392&model%5BcountryName%5D=Japan&model%5BtransactionCode%5D=01&model%5BcommodityTransactionId%5D=ES01&model%5BcommodityTransactionName%5D=Electricity%20-%20solar%20production%2C%20public&model%5Byear%5D=2000&model%5Bunit%5D=Kilowatt-hours%2C%20million&model%5Bquantity%5D=2&model%5BfootnoteSequenceId%5D=0

1 个答案:

答案 0 :(得分:2)

如果您不想使用ID,请重新考虑。通常在mater-details中你需要创建一个新查询以获得更多数据。

如果您的用例不可能,可能有一个DataManager单例。

  • 创建一个在List和Detail ViewModel中注入的DataManager类。默认情况下,每个注入的类都是aurelia中的单例
  • 在ViewModel列表中,确保您的数据保存在DataManager中
  • 仅传递ID
  • 进行路由
  • 在详细信息中,ViewModel调用DataManger的方法getModelById(id)