首頁  >  問答  >  主體

javascript - vue的router-link中使用es6字串範本時為什麼還要加雙引號?


我把雙引號去掉就報錯了。
不太明白,求大佬指點一下。

PHP中文网PHP中文网2638 天前1098

全部回覆(2)我來回復

  • 过去多啦不再A梦

    过去多啦不再A梦2017-07-05 10:58:34

    Vue 中,模板內 HTML 標籤 :xxx="" 時,雙引號中的內容是一個 JS 表達式,而不是一般的 HTML 屬性。

    舉例:

    <p @click="count++">{{count}}</p>

    這時候 count++ 是一段模板編譯後由 Vue 執行的 JS 程式碼,而不是簡單的屬性字串。同理,router-link 中書寫的也是 JS 程式碼,而不是連結字串。這樣一來,需要直接回傳字串路徑時,就必須採用單引號把字串內容括起來,例如 :to="'/index'" 這樣。如果寫 :to="/index",那麼 Vue 會求值一個名為 /index 的變量,而這顯然是非法的。

    如果不想嵌套單雙引號,可以去掉冒號,寫

    回覆
    0
  • 滿天的星座

    滿天的星座2017-07-05 10:58:34

    <router-link :to="'/dispatch/internal/treenode/'+itemSmall.view">{{ itemSmall.view }}</router-link>

    你拼字串試試看

    回覆
    0
  • 取消回覆