2013-04-02 67 views
3

我花了幾乎一整天研究我的理論框架模板和JS框架後臨到模板使用SPA與MVC 4的可能性。人們使用Knockout,Backbone.js,Breeze.js和其他許多框架。似乎很多人都在使用MVVM來顯示數據。沒有JS框架的MVC 4 SPA?

但我真正在尋找的是如果有一種方法來開發一個SPA,而不是依靠多個JS框架來使它工作。是否有一些最小化的設置使用最少的插件和框架來獲得SPA的工作?我注意到我們可以使用History.js,但是我們需要某種路由抽象,對嗎?那麼,如果我們只想設置簡單的路由(瀏覽器歷史管理)而不是MVVM呢?有沒有這樣的選擇?

(請讓我知道,如果我能短語我的問題或者更好,如果我能有所改進)

回答

1

您可以配置在頁面加載sammy.js或history.js和動態加載的看法...

sammy.get('#/(.*)', function (context) { 
     var url = this.params['splat']; 
     $("#main").load(url); 
}); 

例如,如果我們加載本地主機:333 /首頁/聯繫我們......它會讀取聯絡我們查看和負載動態內容。

以下是這,如果你想選擇一個SPA JS框架可以比較其他庫。我認爲棱角覆蓋了所有對spa的要求,就像單個圖書館。 http://blog.stevensanderson.com/2012/08/01/rich-javascript-applications-the-seven-frameworks-throne-of-js-2012/

+0

非常好,謝謝您的答覆!現在還有一件事我被困惑了,與MVC 4有關。所以我理解能夠點擊頁面上的鏈接來動態加載視圖(它顯示URL中的localhost:333/Home/ContactUs,但加載通過AJAX查看)。但是如何設置MVC 4,所以當有人直接瀏覽本地主機:333/Home/ContactUs時,它不會僅僅是那個PartialView?你如何獲得MVC 4和sammy.js或history.js無縫協作? –

+1

你必須配置sammy或history.js ...我使用sammy.js它非常好,當你配置它時,許多事情都會爲你清楚。當有人直接打開它,然後肯定會打開局部視圖,但你可以檢查控制器是否它的ajax請求或不... Sammy.js與散列基地網址一起工作,你可以定義不同的路線和執行操作 –