function SearchArticleModel() {
var self = this;
self.param = ''}
var searchModel = new SearchArticleModel();
ko.applyBindings(searchModel, document.getElementById("ko-search-module"));
$('.tag-menu').on('click', function(e) {
showSearch();
// searchModel.param("tags")
}
我需要给param一个字符串值tag
。我无法做到这一点。我试过但我被困在这里。我第一次使用淘汰赛,所以我有点困惑。我有我的Knockout模型,其中param值为null。我尝试在调用以下函数时设置param的值。
答案 0 :(得分:2)
您应该使用ko.observable()
让您的更改影响用户界面。
function SearchArticleModel() {
var self = this;
self.param = ko.observable()
}
var searchModel = new SearchArticleModel();
ko.applyBindings(searchModel, document.getElementById("ko-search-module"));
$('.tag-menu').on('click', function(e) {
showSearch();
// searchModel.param("tags")
}
另外我建议您使用ko click
绑定而不是$('.tag-menu').on()
。
function SearchArticleModel() {
var self = this;
self.param = ko.observable()
self.setParam = function(){
self.param('tag');
}
}
然后在html:
<a data-bind="click: setParam"></a>
或者您甚至可以从html绑定传递参数:
<a data-bind="click: setParam.bind($data, 'param value')"></a>