javascript - vue的router-link中使用es6字符串模板時(shí)為什么還要加雙引號(hào)?
問題描述
我把雙引號(hào)去掉就報(bào)錯(cuò)了。不太明白,求大佬指點(diǎn)一下。
問題解答
回答1:Vue 中,模板內(nèi) HTML 標(biāo)簽 :xxx='' 時(shí),雙引號(hào)中的內(nèi)容是一個(gè) JS 表達(dá)式,而不是一般的 HTML 屬性。
舉例:
<p @click='count++'>{{count}}</p>
這時(shí)候 count++ 是一段模板編譯后由 Vue 執(zhí)行的 JS 代碼,而不是簡(jiǎn)單的屬性字符串。同理,router-link 中書寫的也是 JS 代碼,而不是鏈接字符串。這樣一來,需要直接返回字符串路徑時(shí),就必須采用單引號(hào)把字符串內(nèi)容括起來,例如 :to='’/index’' 這樣。如果寫 :to='/index',那么 Vue 會(huì)求值一個(gè)名為 /index 的變量,而這顯然是非法的。
如果不想嵌套單雙引號(hào),可以去掉冒號(hào),寫 <router-link to='/index'>
回答2:<router-link :to='’/dispatch/internal/treenode/’+itemSmall.view'>{{ itemSmall.view }}</router-link>
你拼字符串試一下
相關(guān)文章:
1. css3 - rem布局下,用戶瀏覽器的最小字號(hào)是12px怎么辦?2. javascript - 循環(huán)嵌套多個(gè)promise應(yīng)該如何實(shí)現(xiàn)?3. mysql優(yōu)化 - 關(guān)于mysql分區(qū)4. css - 移動(dòng)端字體設(shè)置問題5. html5 - 如何實(shí)現(xiàn)帶陰影的不規(guī)則容器?6. vue.js - vue 打包后 nginx 服務(wù)端API請(qǐng)求跨域問題無法解決。7. javascript - ionic2 input autofocus 電腦成功,iOS手機(jī)鍵盤不彈出8. node.js - 在vuejs-templates/webpack中dev-server.js里為什么要exports readyPromise?9. 前端 - IE9 css兼容問題10. objective-c - iOS開發(fā)支付寶和微信支付完成為什么跳轉(zhuǎn)到了之前開發(fā)的一個(gè)app?
