서버에서 json을 사용하여 <ol><li></li></ol>
을 렌더링하는 자바 스크립트 코드가 있습니다. 코드는 내가 아픈,하는 HTML 모달 팝업으로 아이 <li>
의 데이터 요소를 바인딩해야 할 상황에있어이json 데이터의 VueJs를 사용하여 List 요소를 렌더링하는 방법
function loadWorkFlowRules() {
var wf_id = <?php echo $wf->id; ?>;
$.post("/api/wfengine/get_wf_rules/", {
wf_id: wf_id
}, function(result) {
var wf_rules = JSON.parse(result).data;
if (makeView(wf_rules)) {
toastr.success('The Rules are Successfully Loaded!');
} else
toastr.info('Welcome to Work Flow Editor');
});
}
function makeView(wf_rules) {
//console.log(wf_rules);
var html_str = '',
response = false;
$.each(wf_rules, function(key, value) {
if (value.length > 0) {
$.each(value, function(key1, value1) {
var ui_l1 = '<li class="alert mar" data-id="' + value1.id + '" data-name="' + value1.name + '" style=""><div class="dd-handle state-main">' + value1.name + '<span class="cust-close" data-dismiss="alert" aria-label="Close"><i class="fa fa-times"></i></span></div><ol>';
html_str = html_str + ui_l1;
if (value1.children.length > 0) {
$.each(value1.children, function(key2, value2) {
$.each(value2, function(key3, value3) {
var ui_l2 = '<li class="alert mar" data-id="' + value3.id + '" data-name="' + value3.name + '" style=""><div class="dd-handle state-main">' + value1.name + '<span class="cust-close" data-dismiss="alert" aria-label="Close"><i class="fa fa-times"></i></span></div><ol>';
html_str = html_str + ui_l2;
if (value3.children.length > 0) {
$.each(value3.children, function(key4, value4) {
if (value4.length > 0) {
var ui_l3 = '<li class="dd-item alert mar action" data-id="' + value4[0].id + '" data-name="' + value4[0].name + '" data-api="' + value4[0].api + '" data-url="' + value4[0].url + '" data-json="' + value4[0].json + '" style=""><div class="dd-handle">' + value4[0].name + '<span class="cust-close" data-dismiss="alert" aria-label="Close"><i class="fa fa-times"></i></span> <span class="edit cust-close" data-toggle="modal" data-target="#editAction" ><i class="fa fa-pencil"></i></span></div></li>';
html_str = html_str + ui_l3;
}
})
}
html_str = html_str + '</ol></li>';
});
})
}
html_str = html_str + '</ol></li>';
});
$('.contract_main').html(html_str);
response = true;
} else
response = false;
});
return response;
}
HTML
<div class="dd">
<ol class="dd-list simple_with_drop vertical contract_main">
</ol>
</div>
같은 것을 보이는 경우에 따라서 Modal의 값이 Object/Dom에서도 변경됩니다.
VueJs를 사용하는 것이 좋습니다.
나는 지났습니다. 현재
vuejs는 jquery로 일부 데이터 조작을 완료 한 전체 프레임 워크입니다. 왜 페이지에 다른 모달 바인딩을 추가할까요? – madalinivascu
@madalinivascu 이것은 실제로 예제 일뿐입니다.이 애플리케이션은 Json과 Ui 측 데이터 업데이트/삭제 등을 SPA와 거의 비슷하게 사용하게 될 것입니다. 그래서 우리는 프레임 워크를 사용하기로 결정했습니다. 이것으로 앞으로 나아갈 것입니다, 그것은 충분할 것입니다. – Vikram