我可以从模型中获取绑定元素的id吗?

时间:2014-03-19 10:53:39

标签: knockout.js

我遇到以下问题。我想从模型内部获取绑定的id。我知道可能很难理解我想要的东西(或者可能是我说错了),所以这是一个例子。

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

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

阅读文档和快速谷歌搜索后,我找不到任何东西。有可能吗?

1 个答案:

答案 0 :(得分:1)

如果您只想隐藏元素,请创建一个包含布尔标志的observable,并使用" visible"将其绑定到您的DOM元素。结合:

注意:这不是一个完整的视图模型,只是设置您的observables的示例代码:

this.isError = ko.observable(false);

<div data-bind='visible: isError'>
    Error message
</div>

现在,只要&#34; isError&#34; flag设置为true,将显示错误消息。如果它是假的,它就是隐藏的。您甚至可以通过添加另一个observable来改变消息:

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

<div data-bind='visible: isError, text: errorMessage'>
</div>

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