Knockout.js 我可以从模型内部获取绑定元素的id吗?

Knockout.js 我可以从模型内部获取绑定元素的id吗?,knockout.js,Knockout.js,我有以下问题。我想从模型内部获取绑定的id。我知道可能很难理解我想要什么(或者可能我用了错误的词),所以这里有一个例子 ko.applyBindings(new Model, document.getElementById('myID')); function ErrorViewModel() { this.foo = function(){ // do something to output myID } } 在阅读了文档和快速的谷歌搜索之后,我什么也找不到

我有以下问题。我想从模型内部获取绑定的id。我知道可能很难理解我想要什么(或者可能我用了错误的词),所以这里有一个例子

ko.applyBindings(new Model, document.getElementById('myID'));

function ErrorViewModel() {
    this.foo = function(){
        // do something to output myID
    }
}

在阅读了文档和快速的谷歌搜索之后,我什么也找不到。是否可能?

如果您只想隐藏一个元素,请创建一个包含布尔标志的可观察对象,并使用“可见”绑定将其绑定到DOM元素:

注意:这不是一个完整的视图模型,只是设置观察对象的示例代码:

this.isError = ko.observable(false);

<div data-bind='visible: isError'>
    Error message
</div>
this.isError=ko.可观察(假);
错误消息
现在,只要“iError”标志设置为true,就会出现错误消息。当它是假的,它是隐藏的。您甚至可以通过添加另一个可观察对象来改变消息:

this.isError = ko.observable(false);
this.errorMessage = ko.observable('Error Message');

<div data-bind='visible: isError, text: errorMessage'>
</div>
this.isError=ko.可观察(假);
this.errorMessage=ko.observable('Error Message');

现在只需设置您的错误消息(
this.errorMessage('Name is too short')
)并将其与
this.isError(true)

一起显示,您能否澄清“做点什么”是什么?敲除的关键点之一是避免DOM操作(分离视图和视图模型)。通常,有一种“击倒”(knockout)方法可以避免DOM操作。实际上,我想隐藏元素。感谢您研究这个问题。如果您一开始就知道myID,为什么要将它放在模型中?为什么不在全球范围内存储呢?