我有一个帐户列表,然后我有一个查看链接来详细查看帐户,这是帐户路径。当我单击视图链接时,(guid)在通过路由器时不会更新,它只会在 URL 中更新,但它似乎没有传递到代码中。
当我刷新浏览器时,(guid)会被传递到路由器......由于某种原因它没有解决。
我没有使用 ember-data,但将来会使用它。
这是带有“查看”链接的“帐户”模板代码:
{{#each accountdata in controller}}
<tr>
<td>{{accountdata.accountnumber}}</td>
<td>{{accountdata.accountname}}</td>
<td>{{accountdata.accounttypestatus}}</td>
<td>{{accountdata.accountuser}}</td>
<td>{{#linkTo account accountdata}}View{{/linkTo}}</td>
</tr>
{{/each}}
accountdata 是带有“accountguid”的上下文,这是我的 id。
这是我的路由器:
App.Router.map(function() {
this.resource("accounts", { path: '/accounts' });
this.resource("account", { path: "/accounts/:accountguid" });
});
App.AccountsRoute = Ember.Route.extend({
setupController: function(controller, model) {
controller.set('searchfilter','ALL');
controller.search();
}
});
App.AccountRoute = Ember.Route.extend({
setupController: function(controller, model) {
controller.show(controller);
},
model: function(params) {
this.controllerFor('account').set('accountguid',params.accountguid);
},
serialize: function(model) {
return {accountguid: Em.get(model, 'accountguid')}
}
});
我的 controller.show 是我发送上下文以调用脚本以显示帐户详细信息的位置。
所以我只需要每次查看正确的accountguid,然后调用show(context) 方法。
谢谢
这是我的旧路由器代码,它可以 100% 工作。当我点击一个链接时,它解决了:accountguid,当我刷新浏览器时,它做了同样的事情。我没有问题,一切正常。
// //Accounts
// accounts: Ember.Route.extend({
// route: '/accounts',
// index: Ember.Route.extend({
// route: '/',
// connectOutlets: function (router) {
// router.get('applicationController').connectOutlet('accounts');
// router.get('accountsController').set('searchfilter','ALL');
// router.get('accountsController').search();
// }
// }),
// view: Ember.Route.extend({
// route: '/:accountguid',
// connectOutlets: function (router, account) {
// router.get('applicationController').connectOutlet('account', account);
// router.get('accountController').show(account);
// //router.get('accountController').connectOutlet('eventloghistory','eventloghistory');
// }
// })
// }),