0
SPA에서 작업 중입니다. RequireJS 및 검도 라우팅을 사용하고 있습니다.모달 창에서 관찰 가능
는define(['kendo'],function(kendo) {
router.route("/SomePage/", function() {
require(['MyViewModel', 'text!MyTemplate'], function (viewModel, view) {
loadView("#main-content", viewModel, view);
});
});
var loadView = function(container, viewModel, view) {
var kendoView = new kendo.View(view, { model: viewModel });
layout.showIn(container, kendoView);
};
}
(매우 잘 작동 위의 코드)
관찰 개체를 통해 서버에서 응답에 의해 채워 검도 그리드가있다. 모눈의 각 행에는 모달 창을 여는 버튼이 있습니다. 창에서 동적으로 생성 된 라디오 버튼 그룹입니다.
<div class="panel-body"><
<div id="cile-table"
data-role="grid"
data-editable="window"
data-bind="source: gridDS"
data-columns='[
{"field": "ID"},
{"field": "Name"},
{"template":"<a href=\"\\#/SomePage/\" data-bind=\"click: openModalWin \">Open</a>"},
]'></div>
<div id="actions-modal-window"
data-role="window"
data-visible="false"
data-modal="true"
data-width="55%"
data-height="600">
<ul data-bind="source: actions" data-template="ul-template" id="radioBtnGroup"></ul>
<script id="ul-template" type="text/x-kendo-template">
<li>
<input type="radio" name="hcEnd" id="hc1" data-bind="attr: {id: id}" />
<label data-bind="attr: {for: id}, text:lable"></label><br />
</li>
</script>
</div>
</div>
</div>
데이터 바인딩과 리 검도 템플릿이 있습니다 :
그래서, 여기
define(['GridDataSource','RadioBtnDataSource'],function(ds, ds2){
var GridViewModel = kendo.observable({
gridDS: ds,
openModalWin: function (e) {
var modalWindow = $("#actions-modal-window").kendoWindow({}).data("kendoWindow").open();
modalWindow.center();
//radiobuttons view model
var actionsViewModel = kendo.observable({
//actions: ds2
actions: [
{ id: "id1", lable: "Send to black hole" },
{ id: "id2", lable: "Shred" }
]
});
kendo.bind($("#radioBtnGroup"), actionsViewModel);
}
});
return cileGridViewModel;
});
그리고 내 HTML 템플릿은 MyViewModel.js
있습니다. http://jsfiddle.net/kuba_vaclavik/kEqYh/212/을하지만 내 프로젝트에 오류 반환 :
나는 그것이 작동 jsfiddle 사용
"catch되지 않은 형식 오류를 : 정의되지는 속성이 없습니다." 아마, 정렬되지 않은 목록 또는 중첩 된 관찰 가능 객체로 viewModel을 바인딩하는 데 문제가 있지만이를 수정할 수는 없습니다. 제발, 도와 줄 수 있습니까? 내 접근 방식이 잘못되었을 수 있으므로 다른 접근 방식을 환영합니다.