類似angularJS里的路由,有沒有類似的前端路由框架,我想實現左側導航不刷新,只刷新右側內容的界面?

我們不用angular,想找一個類似angularJS里的路由,有沒有類似的前端路由框架,我想實現左側導航不刷新,只刷新右側內容的界面!


我是leeluolee/stateman · GitHub的作者, 謝謝 @徐飛 介紹 ,這個庫其實和angular淵源較深, 事實上,如果你不是深層級的路由, 市面上得選擇是比較多的: director.js, path.js , Backbone.Router 等等都是很好的選擇, 甚至你直接監聽hashchange事件也能再IE8+下實現單頁路由。

單頁應用的開發其實很簡單: 永遠要保持一點,你的程序邏輯的開始是由url變化開始的 ,是單向的。 所以說是狀態state驅動, url不足以描述一個程序的狀態, 所以angular的社區出現ui-router這個東西, 事實證明這是一個最佳實踐。 你可以將stateman想像成ui-router的無依賴版本,並且它兼容到IE6. state的引入主要是為了處理深層次的路由, 因為一個複雜的單頁應用絕對不是左右蘭這麼簡單


…… @貘吃饃香 這個問的不是angular。

如果自己做的話,監聽hash的變更,然後在裡面根據配置,用ajax去讀對應的界面片段,然後append到主容器中就可以了。自己處理一下js的動態載入,還有已載入東西的緩存之類。

或者用這個:

leeluolee/stateman · GitHub

看他第一個例子:http://leeluolee.github.io/stateman/layout.html


瀉藥……

偶不會angularJS 神馬的。

幫你邀請 @徐飛 老闆來答好了。

摺疊吧。


這個功能完全可以自己實現,就是通過 hash 的變更事件驅動菜單變更和局部 view 更新。

在 Angular.js 里:

1. $routeChangeSuccess 事件就是 hash 變更結束;

2. 菜單的行為自己在事件回調里處理就可以;

3. 局部視圖更新就是 ngView 通過 $routeProvider 配置的規則載入不同的 template,這個是自動的。


pansy.js

帶有中間件設計的前端路由,語法接近後端的express

https://github.com/heineiuo/pansy


用jquery做了單頁網站,右側用模塊化,所有模塊放在div裡面,左側菜單選中哪個,就把哪個模塊顯示出來,提交數據時,也會提交模塊名去後台,取得數據之後會渲染在操作模塊上。如果不需要支持f5刷新,沒必要在URL上做文章,直接用變數保存各個模塊以及當前模塊即可


雖然這個的確不應該是angularjs的問題。。樓上的大牛們也已經把如何用angularjs實現的方法說的很清楚了,但是這個場景應該用emberjs會更順手。你可以看下官網首頁最下面routing這項功能的演示是否接近你的描述:

鏈接:Ember.js - A framework for creating ambitious web applications.

如果覺得自己搭框架上手麻煩,可以直接用 http://yeoman.io/ yo一下,生成一個框架進行修改,簡單的webapp完全可以1分鐘上手。

ember大法好,入ember保平安


自帶的路由器(ngRoute)就可以實現你想要的功能,但不是很好用,我們是用ui-router:angular-ui/ui-router · GitHub 文檔在這裡:Docs 演示程序在這裡:ui-router

好處是支持各種複雜的嵌套子視圖,自動獲得不同子視圖所需要的數據。


試試這個兄台require.js


github上搜索page.js,很輕量級的一個路由框架,支持pushstate和hashbang


感覺就類似於頁簽效果,如果需要數據可以用ajax


用ui-router裡面的ui-view即可

只刷新局部的DIV

每個右側的DIV可以寫成一個文件(DIV塊),載入進ui-view即可 :)


試試jsviews


js框架,mvc,http://www.f2enav.com 中一欄應該可以找到類似的


https://github.com/flatiron/director


推薦閱讀:

自學 HTML 和 CSS,有哪些好的教材和網站教程推薦?
CSS 中已設置的屬性怎麼去掉?
關於table邊框,設置了border-collapse:collapse之後,各條邊框是怎麼合併的?
CSS大牛能達到什麼境界?
辭職無基礎自學3星期html和css,現在感覺,動手能力差,基礎掌握不好?求大神指導啊,衷心感謝!

TAG:前端開發 | CSS | JavaScript | 網頁布局 | AngularJS |