【发布时间】:2015-06-09 09:09:38
【问题描述】:
我的两条路线有相同的模板和控制器,所以我的路线想使用 renderTemplate 相同的模板和控制器,比如:
OrderRoute = Ember.Route.extend
model: (params)->
Product.findAll(params)
setupController: (controller, model)->
@controllerFor('product').set('model', model)
renderTemplate: ->
@render 'products',
controller: 'products'
actions:
queryParamsDidChange: ->
@refresh()
控制器:
ProductController = Ember.Controller.extend
queryParams: ['number']
number: null
代码看起来没有问题,但我使用时发现query params 无法工作。
jsbin:http://emberjs.jsbin.com/gegonemadu/1/edit
我无法用谷歌搜索任何关于这个问题的信息。
我知道如果我使用OrderRoute 和OrderController 路由和控制器具有相同的名称,所有的想法都会好的。但我的 2 条路线想要相同的模板,就像:
/订单
/其他
2 路由 url 使用product模板和控制器
我用{{partial}}这个,就像:http://emberjs.jsbin.com/bifanateku/1/edit?html,js,console
这是可行的,但我认为如果我可以使用renderTemplate,代码会更干净。
也许有更好的方法来解决这个问题?
【问题讨论】:
-
query params无法工作是什么意思? -
请通过emberjs.jsbin.com提供问题的最小演示
-
@code-jaff 我添加了 jsbin。不工作的意思是当我更改
query params时,url没有改变,也没有刷新路由。 -
@lolmaus-AndreyMikhaylov 谢谢。我已经加了。 emberjs.jsbin.com/dayotavagu/1/edit?html,js,console
标签: javascript ember.js