Vue.js中的{{}}和v-text有什么区别?

时间:2019-09-22 16:00:20

标签: vue.js

在vue.js中,我们知道有两种将数据绑定到视图的方法:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>

<div id="app">

  <p>{{msg}}</p>
  <p v-text="msg"></p>

</div>

<script src="./lib/vue.js"></script>

<script>
  var vm = new Vue({
    el: "#app",
    data: {
      msg: 'hello world',
    }
  })
</script>

</body>
</html>

您看到标签p:

<p>{{msg}}</p>
<p v-text="msg"></p>

它们之间有什么区别吗?

1 个答案:

答案 0 :(得分:2)

它们之间有两个区别:

  1. 如果使用<p>{{msg}}</p>绑定数据,则可以添加更多内容,例如:

    嗨,{{msg}}!

  2. <p v-text="msg"></p>可以避免绑定闪烁,这意味着在加载视图时,不会像第一种方法那样出现{{msg}}。如果要使用<p>Hi, {{msg}}!</p>方式,则可以添加[v-cloak]属性:

<style>
    [v-cloak] {
      display: none;
    }
</style>

...

<p v-cloak>{{msg}}</p>