把手错误:尽管已激活功能,但找不到属性'query-params'

时间:2014-02-01 19:53:07

标签: ember.js handlebars.js

我正在尝试在我的路由/控制器中使用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')
});

2 个答案:

答案 0 :(得分:2)

这是Ember版本中的一个错误,它正在使用金丝雀版本。

http://emberjs.jsbin.com/ucanam/3566/edit

答案 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