0

最近、Emberjs はバージョン 1.0.0 になりました。いくつかの新しい変更に準拠するためにコントローラーに変更を加えましたが、

App.UsersController = Ember.ObjectController.extend({
    actions : {
        filteredContent : function() {
            var searchText = this.get('searchText'), regex = new RegExp(searchText, 'i');

            return this.get('model').filter(function(item) {
                return regex.test(item.name);
            });
        }.property('searchText', 'model')
    }
});

これはテキストボックスに関連付けられており、

{{input type="text" value=searchText}}

しかし、私はまだこれを取得し続けています:

DEPRECATION: Action handlers contained in an `events` object are deprecated in favor of putting them in an `actions` object (error on <Ember.Route:ember189>)
        at Object.triggerEvent (http://ember.local/js/libs/ember.js:30519:13)
        at trigger (http://ember.local/js/libs/ember.js:29641:16)
        at handleError (http://ember.local/js/libs/ember.js:29903:9)
        at invokeCallback (http://ember.local/js/libs/ember.js:8055:19)
        at null.<anonymous> (http://ember.local/js/libs/ember.js:8109:11)
        at EventTarget.trigger (http://ember.local/js/libs/ember.js:7878:22)
        at http://ember.local/js/libs/ember.js:8180:17
        at Object.DeferredActionQueues.flush (http://ember.local/js/libs/ember.js:5459:24)
        at Object.Backburner.end (http://ember.local/js/libs/ember.js:5545:27) ember.js:394
Error while loading route: 
Object {readyState: 4, getResponseHeader: function, getAllResponseHeaders: function, setRequestHeader: function, overrideMimeType: function…}
 ember.js:394
Uncaught #<Object> 

ここで何が間違っているのでしょうか?

さらに、誰かが興味を持っている場合は、https: //gist.github.com/ankurkaushal/55dd21838acb0dd3fb10 という完全な App.js があります。

完全な HTML は次のとおりです。

<script type="text/x-handlebars" data-template-name="users">

            {{input type="text" value=searchText}}

            {{#each item in filteredContent }}
            <tr><td>
              {{#link-to 'user' item}} <p>{{item.name}}</p>{{/link-to}}
            </td></tr>
            {{/each}}

            {{outlet}}
</script>
<script type="text/x-handlebars">
        <h1>Application Template</h1>
        {{outlet}}
</script>


     <script type="text/x-handlebars" data-template-name="user">
    <h2>
        {{email}}
    </h2>

</script>
4

1 に答える 1

3

とにかくハッシュを持っfilteredContentているのはなぜですか?これは計算されたプロパティであるため、ハッシュactions内にあってはなりません。actions

ハッシュfilteredContentの外に移動してみてください。actions

それが役に立てば幸い。

于 2013-09-06T22:13:05.833 に答える