我的表单包含文档列表,一个输入字段和按钮。
情景:
如何阻止渲染功能重置输入字段? 这是我的代码的一部分:
视图
View.DocumentsView = Marionette.CompositeView.extend({
events : {
"click button.js-Doc-search": "search",
},
initialize: function() {
this.collection = this.model.get("list");
},
onRender : function(){
// Do something to prevent the reset of the input
}
});
控制器
documentsView.on("documents:search", function(name) {
var that = this;
var fetchingDocuments = this.request("document:entities", name);
$.when(fetchingDocuments).done(function(documents) {
that.model = documents;
that.collection = documents.get("list");
that.render();
});
});
答案 0 :(得分:0)
您可以在点击搜索时将输入字段中的值保存到当前视图,模型等,例如this.searchTerm = this.$el.find('selector for input').val()
;
当调用render时,你可以将它设置回输入字段。
View.DocumentsView = Marionette.CompositeView.extend({
events : {
"click button.js-Doc-search": "search",
},
initialize: function() {
this.collection = this.model.get("list");
},
onRender : function(){
// Do the rendering
if(this.searchTerm)
this.$el.find('selector for input').val(this.searchTerm);
}
});
或者如果您使用像rivets这样的库来始终保持值和输入同步
它就像
一样简单<input rv-value="view.searchterm"/>
配置并绑定铆钉后。