この質問がとてもばかげていると思われる場合は、ご容赦ください。私はノックアウトの初心者で、それを学ぼうとしています。
画像ソースを式にバインドしたい。式はパスを生成する責任があり、そのパスはソースとして img に適用する必要があります。
<ul id='AllPatient' data-role='listview' data-inset='true' data-bind="foreach:Patients">
@*<li><span data-bind="text: ko.toJSON($data)"></span></li>*@
<li>
<table class="Tabular">
<tr>
<td class="DataCell">
<a href="javascript:" id="pLocation" sortorder="none"><span data-bind="text:$data.UnitName">
</span></a>
</td>
<td class="DataCellImage">
<a href="javascript:" id="addPatient" sortorder="none" data-bind="click:$root.addPatient">
<img data-bind="attr:{src: $root.ImageSource}" src="~/Content/Images/MPL/PersonAdd.png" /></a>
</td>
</tr>
</table>
</li>
</ul>
次のデータバインディングViewModelを使用しています:
function PatientsModel(data)
{
var self = this;
self.Patients = ko.observableArray([]);
self.Patients(data.Patients);
self.ImageSource = function (model)
{
if (model.myPatient == true)
{
return PyxisLinkJS.RootURL + '/Content/Images/MPL/MyPatientGray.png';
}
else if (model.localPatient == true)
{
return PyxisLinkJS.RootURL + '/Content/Images/MPL/PersonAdd.png';
}
else
{
return PyxisLinkJS.RootURL + '/Content/Images/MPL/MyPatientGray.png';
}
}
}
これが起こっていることです: ImageSource の関数本体を Image の src として設定しようとしています。メソッドImageSourceをトリガーし、戻り値をImageのSrcとして設定したい場合。
よろしく、 スメット