我做了一個圖標,自定義綁定,如果我做這樣的事情淘汰賽拆開包裝觀察到不按預期
<div data-bind="icon: 'icon-name'"></div>
我想要的圖標是可變的工作正常所以在我的視圖模型我有:
var element = {
icon: ko.computed(function() {
return 'icon-' + iconType();
}
}
在我的HTML我有:
<div data-bind="icon: ko.utils.unwrapObservable(icon)"></div>
但是,這是行不通的。 需要注意的是,如果我之前插入另一個這樣的div:
<div data-bind="text: ko.utils.unwrapObservable(icon)"></div>
我得到一個div與我想要的圖標的確切名字,讓我們說「圖標-1」。
所以我的猜測是,unwrapObservable不會給我我需要的格式的文本。
任何想法如何解決這個問題?
的圖標結合:
ko.bindingHandlers.icon = {
init: function(element, valueAccessor) {
var icon = ko.unwrap(valueAccessor());
$(element).html(icons[icon]);
}
}
爲什麼你認爲你需要在這裏使用'unwrapObservable'? –
如果我使用icon:圖標和文本:圖標 – Dragos
,我得到完全相同的結果我使用unwrap嘗試獲取計算元素的值以與我的自定義綁定一起工作,正如我在第一行中所說的那樣 – Dragos