我目前正在构建我的第一个 Ember 应用程序,我正在使用 Ember.Router 从 URL 获取参数,设置正确的状态并连接几 (5) 个插座。
让我烦恼的是,当 URL 中的单个参数发生更改时,路由器日志显示应用程序完全重新路由并重新实例化所有视图(弄乱了转换等)..
例子:
GET /#/myapp/from/2012-01-01/to/2012-12-31
日志输出:
STATEMANAGER: Entering root ember.js:18
STATEMANAGER: Sending event 'navigateAway' to state root. ember.js:18
STATEMANAGER: Sending event 'unroutePath' to state root. ember.js:18
STATEMANAGER: Sending event 'routePath' to state root. ember.js:18
STATEMANAGER: Entering root.main ember.js:18
STATEMANAGER: Entering root.main.range ember.js:18
STATEMANAGER: Entering root.main.range.index ember.js:18
然后我更改哈希(所以没有新请求)
/#/myapp/from/2012-06-01/to/2012-12-31
日志输出:
STATEMANAGER: Sending event 'navigateAway' to state root.main.range.index. ember.js:18
STATEMANAGER: Sending event 'unroutePath' to state root.main.range.index. ember.js:18
STATEMANAGER: Sending event 'unroutePath' to state root.main.range. ember.js:18
STATEMANAGER: Sending event 'unroutePath' to state root.main. ember.js:18
STATEMANAGER: Sending event 'unroutePath' to state root. ember.js:18
STATEMANAGER: Sending event 'routePath' to state root. ember.js:18
STATEMANAGER: Entering root.main ember.js:18
STATEMANAGER: Entering root.main.range ember.js:18
STATEMANAGER: Entering root.main.range.index ember.js:18
我在这里遗漏了什么吗,因为这看起来有点多余。不仅如此,我的应用程序中有一个精美的过渡图表,现在每次用户按下back
或forward
在他们的浏览器中都会完全重新加载..