2013-08-25 43 views
0

轉換爲路由後,我想將文本字段值設置爲空。將文本字段值設置爲在轉換爲路由後清空

我嘗試這樣做的控制器,但它不工作:

init: function() { 
    this.set("filterterm", ""); 
    } 

這裏是我的榜樣的jsbin:http://jsbin.com/OcAyoYo/111/edit

如果我在文本框中輸入「5」,然後點擊提交那麼結果會改變,但是當我再次單擊「全部」時,我想清除文本框。

+0

請檢查此[二進制](HTTP:/ /jsbin.com/OcAyoYo/116/edit) – seenivasan

+0

@seenivasan,當我按下提交時,刪除文本字段中的值。我不想那樣。我只想要點擊某些其他鏈接(例如,大多數,所有,最受評價等)時刪除的值。 – Anthony

+0

我沒有注意到您的微妙要求。請檢查此[bin](http://jsbin.com/OcAyoYo/120/編輯) – seenivasan

回答

0

,你可以做到這一點的把這個this.set("filterterm", "");過渡到您的路線後:

submit: function (context) { 
    var term = this.get("filterterm"); 
    var type = this.get("filtertype"); 

    console.log(type); 
    console.log(term); 

    var obj = {}; 
    obj[type] = term; 

    this.transitionToRoute("posts.dynamicfinder", App.Response.find(obj)); 
    this.set("filterterm", ""); 
} 

,或者你可以把它放在你的路線:

App.PostsDynamicfinderRoute = Ember.Route.extend({ 
    serialize: function(model) { 
    console.log(model); 
    return { 'some_id': 'whateveryouwant' }; 
    }, 

    enter: function() { 
    this.controllerFor('posts').set('filterterm', ''); 
    } 
}); 
+0

'輸入'是私人的'willTransition'更適合和公共的API – intuitivepixel

+0

這可以工作,但我唯一的問題是,它在我點擊「提交」後立即清除文本字段。我想要的是,只有當其他鏈接被點擊時,文本框才能清除(即全部,最多,最多)。等基本上任何其他的鏈接,而不是提交 – Anthony

+0

啊,我把所有其他路線相同的塊,它的工作。 – Anthony

相關問題