我正在尋找實現Angular,Knockout或其他數據綁定向導式應用程序的概念證明概念(無服務器端代碼)。不過,當我克隆數據綁定的div時,我似乎打破了數據綁定。數據綁定,同時操縱DOM不與Angular,Knockout一起工作
應用程序的前幾個步驟會捕獲數據,而後面的步驟會將數據呈現給用戶以確認輸入的內容。我按下'next'時插入適當的步驟操作DOM,當按'previous'時取出最後一步。我使用detatch
,clone
和remove
這樣做。
任何人都可以提供建議,他們將採取的做法,以及我應該看看什麼框架?
下面是僞代碼給出了一個結構的想法。僞數據綁定代碼就是我認爲它可以工作的原因,我沒有被納入任何框架。
HTML查看
<div id="wizard">
<div id="step1">Enter your name: <input type="text" id="name" /></div>
</div>
<div id="actions"><input type="button" value="Previous" /><input type="button" value="Next" onClick="goNext();" /></div>
<div id="steps">
<div id="stepA">Enter your age: <input type="text" id="age" databind="theAge" /></div>
<div id="stepB">The age you entered - {{ theAge }} is too young!</div>
<div id="stepC">Enter your favourite colour: <input type="text" id="faveColour" databind="faveCol" /></div>
<div id="stepD">Hi {{ name }}. You are {{ age }} years old and your favourite colour is {{ faveCol }}</div>
</div>
的JavaScript
<script>
function goNext() {
// figure out which step is next
insertStepIntoWizard(step, index, title);
}
function insertStepIntoWizard(step, index, title) {
var element = step.detach();
wizard.steps('insert', index, {
title: title,
content: element.clone()
});
console.log('insertStepIntoWizard - just inserted ' + step.attr('id') + ' into wizard position ' + index);
}
</script>
你能不能讓你的問題簡潔,讓我們可以在它看看 – dreamweiver