gpt4 book ai didi

javascript - 从模型外部更改变量的值

转载 作者:行者123 更新时间:2023-12-02 14:43:44 25 4
gpt4 key购买 nike

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")
}

我需要给参数一个字符串值tag。我做不到。我尝试过,但我被困在这个问题上。我是第一次使用 knockout ,所以我有点困惑。我有我的 knockout 模型,其中参数值为空。我尝试在调用以下函数时设置 param 的值。

最佳答案

您应该使用 ko.observable() 使您的更改影响 UI。

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 绑定(bind)而不是 $('.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 绑定(bind)传递参数:

<a data-bind="click: setParam.bind($data, 'param value')"></a>

关于javascript - 从模型外部更改变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36779123/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com