Web_Design 板


LINE

從開始研究網頁設計以來一直都是用jQuery來處理JS的問題 只是一直有呼聲說jQuery已經落伍該被淘汰了,於是最近開始研究Vue.js框架 Vue.js的設計理念跟jQuery差很大,但只要習慣了就會發現很方便 只是在ajax的部分到目前為止我還是覺得jQuery還是最好用的 例如下面的例子,這是一個利用jQuery製作的導覽列--- [index.html] ... <div> <nav> <li> <div>JS應用範例</div> <ul> <li><a id="Calculator">計算機</a></li> </ul> <div>jQuery練習</div> <ul> <li><a id="JSON">JSON資料處理</a></li> </ul> <div>PHP整合應用</div> <ul> <li><a id="SingUp">註冊</a></li> <li><a id="Login">登入</a></li> <li><a id="reCAPTCHA">Google驗證</a></li> <li><a id="get_client_ip">取得客戶端IP</a></li> </ul> </li> </nav> <div id="content"> </div> </div> <script> $(function () { // alert("ready event!"); $("li > a").click(function(e){ var url; switch(e.target.id){ case "Calculator": url = "./_page/calculator.html"; break; case "JSON": url = "./_page/json.html"; break; case "SingUp": url = "./_page/singup.html"; break; case "Login": url = "./_page/login.html"; break; case "reCAPTCHA": url = "./_page/captcha.html"; break; case "get_client_ip": url = "./_page/get_client_ip.html"; break; } //使用load方法將取得的頁面資料渲染到div上 $("#content").load(url); }); //End click }); //End jQuery main </script> 然後下面我打算用Vue.js的方式去取代--- ajax方面使用Vue.js 2官方推薦的axios插件 [index.html] <head> <meta charset="UTF-8"> <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.1.10/vue.min.js"></script> <script src="https://unpkg.com/axios/dist/axios.min.js"></script> <title>Vue.js練習</title> </head> <body> <div id="main"> <nav @click="navigate"> <li> <div>JS應用範例</div> <ul> <li><a id="Calculator">計算機</a></li> </ul> <div>jQuery練習</div> <ul> <li><a id="JSON">JSON資料處理</a></li> </ul> <div>Vue.js練習</div> <ul></ul> <div>PHP整合應用</div> <ul> <li id="SingUp">註冊</li> <li id="Login">登入</li> <li id="reCAPTCHA">Google驗證</li> <li id="get_client_ip">取得客戶端IP</li> </ul> </li> </nav> <div v-html="content"> <!-- 把用ajax撈回來的資料渲染到這裡 --> </div> </div> <script> var vue = new Vue({ el: '#main', data: { content: "請選擇左邊項目" }, methods: { navigate: function (e) { var url,data; switch (e.target.id) { case "Calculator": url = "page1.html"; break; } axios.get(url) .then(function (response) { data = response.data; }) .catch(function (error) { }); //將利用axios插件的get取得的網頁資料指定到content上 this.content = data; } } }) </script> </body> </html> 結果撈回來的資料完全沒辦法像用$jQuery.load()方法一樣 連css效果跟JS程式碼一起正常運作,請問有什麼方法可以解決這個問題嗎? --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.181.97.146
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Web_Design/M.1509274876.A.EAF.html
1F:→ pop0030: 你沒考慮到async(非同步)的問題 10/29 21:23
2F:→ pop0030: https://jsfiddle.net/3s3yhsvp/ 10/29 21:31
不好意思,我琢磨這句好久一直搞不懂意思,可以麻煩大大講解得具體一點嗎?謝謝 ※ 編輯: chenjoe (175.181.97.146), 10/29/2017 23:35:09
3F:→ dannypsnl: 你data還沒有東西就被指定給content了 10/29 23:39
4F:→ dannypsnl: axios拿資料的動作是非同步的 10/29 23:40
所以$jQuery.load()其實是送出一個同步的GET請求到Sever拿網頁丟回給前端? 可是axios好像沒辦法同步? ※ 編輯: chenjoe (175.181.97.146), 10/30/2017 07:19:18
5F:→ pop0030: $jQuery.load()也是非同步的方法 10/30 09:12
6F:→ pop0030: 不過你用的$('#content').load(url)是處理過非同步縮寫 10/30 09:13
7F:→ xdraculax: 直接點就是塞內容那行放 then 裡 10/30 12:01
8F:→ jhnny97: 你用chrome的話開一次開發者工具看network資料怎麼跑 10/30 14:02
9F:→ jhnny97: 你就知道怎麼處理問題了 10/30 14:02
10F:→ AllenGuan: 把then那行改成then(res => this.content = res.data) 11/03 12:08







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP