サーバーから「GetEmployee」関数を呼び出す別の関数があり、Chrome デバッガーで呼び出しを確認すると、詳細が期待どおりに送信されていることがわかるため、サーバー側のエラーではありません。
ただし、ブレークポイントの 3 行目にブレークポイントを配置すると、quickBookingSource
到達することはありません。私はquickBooking:quickBookingSource
viewModelの定義にあり、タイプミスはありません。
また、セーフティネットとして「何とか」テキストの三項演算子を追加しましたが、役に立たなかったことがわかります
私が得ているエラーメッセージは次のとおりです。
Uncaught ReferenceError: Unable to process binding "text: function (){return project }"
Message: project is not defined
コードは次のとおりです。
HTML
<div data-bind="dxTileView: {listHeight:tileWidgetHeight,itemClickAction:sendProject,baseItemHeight: 80, baseItemWidth: 100,dataSource:quickBooking}">
<div data-options="dxTemplate : { name:'item' }" class="tile">
<h2 data-bind="text: project"></h2>
<p data-bind="text: name"></p>
<p data-bind="text: costCenter"></p>
<p>Jetzt Büchen</p>
</div>
</div>
JS
var quickBookingSource = DevExpress.data.createDataSource({
load: function (loadOptions) {
if (loadOptions.refresh) {
var deferred = new $.Deferred();
callService("GetEmployee",
{
employeeNo: aktivEmployee.id
},
function (result) {
var mapped = $.map(result, function (data) {
return {
name: data.LastNProjects? data.LastNProjects["Name"]:"blah",
project: data.LastNProjects? data.LastNProjects["Address"]:"blah",
costCenter: data.LastNCostCenters? data.LastNCostCenters["Name"]:"blah"
}
});
deferred.resolve(mapped);
});
return deferred.promise();
}
},
});
前もって感謝します