我正在尝试在我的路由/控制器中使用query-params,但是把手帮助器导致了这个错误:
未捕获错误:<(Ember._MetamorphView的子类):ember689> Handlebars错误:无法在对象上找到属性'query-params'
此错误是由此指向助手的链接引起的:
{{#link-to 'betround.stats' (query-params game=id) }}
<li {{bind-attr class="isPast:small"}}> {{team1}} {{scoreT1}} : {{scoreT2}} {{team2}} (gameid: {{id}})</li>
{{/link-to }}
我已经升级了Ember和Handlebars
DEBUG: Ember : 1.4.0-beta.4
DEBUG: Ember Data : 1.0.0-beta.4
DEBUG: Handlebars : 1.3.0
DEBUG: jQuery : 2.0.3
启用query-params-new功能:
<script type="text/javascript">
ENV = {FEATURES: {'query-params-new': true}};
</script>
<script src="bower_components/jquery/jquery.js"></script>
<script src="bower_components/handlebars/handlebars.js"></script>
<script src="bower_components/underscore/underscore.js"></script>
<script src="bower_components/ember/ember.js"></script>
<script src="bower_components/ember-animated-outlet/ember-animated-outlet.js"></script>
<script src="bower_components/ember-data/ember-data.js"></script>
我不确定它是否相关,但这也是我的路线控制器:
GambifyApp.BetroundStatsController = Ember.ArrayController.extend({
needs: "betround",
queryParams: ['game'],
game: null,
filteredBets: function() {
var game= this.get('game');
var bets = this.get('model');
if (game) {
return articles.filterProperty('game', game);
} else {
return articles;
}
}.property('category', 'model')
});
答案 0 :(得分:2)
这是Ember版本中的一个错误,它正在使用金丝雀版本。
答案 1 :(得分:2)
他们在v1.4.0-beta3中偶然输入了query-params-new,并从v1.4.0-beta4开始删除了它。 1.4.0的发行版本没有此功能,以及1.5.0的beta版本。
看起来如果你想继续使用query-params-new,你需要使用canary build(1.6.0)或者恢复到1.4.0-beta3。
https://github.com/emberjs/ember.js/issues/4372#issuecomment-35175856