我有一个 ember 组件,它有一个 html 输入框,例如,
<script type="text/x-handlebars" data-template-name="components/top-bar">
<input type="text" placeholder="Search" id="searchbox" value="Search">
</script>
从我的组件中,我在输入具有如下值的搜索框时触发操作:
App.TopBarComponent = Ember.Component.extend({
keyUp: function (event) {
var self = this;
if (event.keyCode == 13) {
var search_text = $('#searchbox').val(); //No I18N
self.sendAction('searchEnterAction', search_text); //No I18N
}
}
});
我在 mixin 中有一个动作。在那次行动中,我只是过渡到另一条路线。
像这样,
searchEnterAction: function (search_text) {
var self = this;
self.transitionTo('search', search_text);
}
在我的 Router.js 中,
this.resource('search', {path: '/:search_value'}); //No I18N
我将动态值作为该路线的参数。
当我从该输入框中输入时,该输入值将设置为该路线的动态值。
但是,当我使用相同的路由值刷新该页面时,该输入值没有与动态路由值绑定。我需要将该输入框值与该路由中的内容绑定。
如何将该 html 输入值与 ember 动态路由绑定?请帮助我摆脱这个困境。
我分享 jsbin 链接供您参考。
过渡阶段(刷新前 https://i.stack.imgur.com/4oHpc.png)
刷新页面后(刷新后 https://i.stack.imgur.com/Xv6e9.png)
JSBIN http://jsbin.com/cipacu/22/