Knockout で html 5 コントロール属性を条件付きで発行する必要があります。つまり、コントロールを発行するときと発行しないときがあります。attr バインディングは機能しませんか? それを機能させるものはありますか?
1090 次
1 に答える
3
はい、attr binding
返す必要があるだけでこれを行うことができます。null
またはundefined
、オブザーバブルから KO は指定された属性を発行しません。
<video id="movie" width="320" height="240"
data-bind="attr: {controls: enableControls}">
<source src="http://www.w3schools.com/html/movie.mp4" type="video/mp4" />
</video>
<button data-bind="{click: click}" >Add/Remove Controls </button>
そしてあなたのviewModelで:
var ViewModel = function()
{
var self = this;
self.enableControls = ko.observable(true);
self.click = function()
{
if (self.enableControls())
self.enableControls(null);
else
self.enableControls(true);
}
}
ko.applyBindings(new ViewModel());
JSFiddleのデモ。
于 2013-01-09T09:25:55.580 に答える