關於這個主題的更多思考:
1)憑經驗是避免重新加載整個HTML頁面。那麼我們怎麼能做到這一點?在你的HTML頁面中,你應該有一個特定的DIV,你可以在你認爲合適的情況下操作。例如,在/#頁面/ 1上,您應該設置該頁面的內容,無論頁面/ 1應該做什麼以及用戶何時點擊搜索,那麼搜索內容都應顯示在該字段中。 (請注意,我正在討論UI方面的事情,實際的搜索可以通過其他一些服務來完成,並且您可以從您的頁面對該服務進行AJAX調用)。 2)您將會收聽各種事件(例如/#頁面/ 1,用戶點擊搜索按鈕,服務器返回搜索結果或服務器返回錯誤消息等)。取決於發生了什麼,您應該相應地修飾該DIV。
示例HTML:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="format-detection" content="telephone=no"/>
<meta name="viewport"
content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height"/>
<title>Example</title>
</head>
<body>
<div id="jQUi">
<div id="content">
</div>
</div>
</body>
</html>
在上面HTML,我與ID爲 「內容」 股利玩。這是如何:
document.addEventListener("deviceready", letGetGoing, false);
...
function letsGetGoing(){
$('content').html(useTemplateNamed('page1Template'));
$('.search').on('change', switchToSearch);
}
function switchToSearch(){
$('content').html(useTemplateNamed('search'));
$('.submit').on('change', verifyAndSendToServer);
}
...
上面是一個僞代碼。我寫了它只是爲了給你一個想法。
我希望它有幫助。
來源
2015-06-19 22:41:10
Alp
你有沒有考慮過使用[backbone.js](http://backbonejs.org/)?如果沒有,我強烈建議你看看它,尤其是[Router](http://backbonejs.org/#Router)。它會幫助你解決這個問題,並且它會以非常簡潔的方式來完成。乾杯。 – Alp
這很有幫助。謝謝你,我會考慮實施這個。 –