取消对象控制器上的属性

时间:2014-09-15 10:41:55

标签: ember.js

我有以下路由器:

Router.map(function() {
    this.resource('cart', function() {
        // order routes
        this.route('shipping');
        this.route('checkout');
        this.route('payment'); 
        this.route('thanks');

    });
});

当我在感谢路线时,我想在结帐时取消设置自定义评论属性。这是因为下次客户访问结账路线时,评论会再次显示。

所以,谢谢,我做了以下几点:this.set('controllers.cart.checkout.commentCustomer', "");

但是我收到了这个错误: Uncaught Error: Property set failed: object in path "controllers.cart.checkout" could not be found or was destroyed.

这意味着什么?

1 个答案:

答案 0 :(得分:2)

你很幸运,因为自从1.7.0以来,Ember在路线上有绝对精彩的resetController钩子。它恰好适用于这种情况。

App.CartCheckoutRoute = Ember.Route.extend({
    resetController: function(controller, isExiting, transition) {
        controller.set('commentCustomer', '');
    }
});