关于vue.js:Vue2插值-动态属性-表达式-vhtml

4次阅读

共计 720 个字符,预计需要花费 2 分钟才能阅读完成。

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title></title>
  <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
  <div id="app">
    <!-- 插值表达式 -->
    {{message}}
    <p id="test">
      {{message}}
    </p>
    <!-- 动静属性 -->
    <p :id="dynamicId">
      {{message}}
    </p>
    <p>{{number}}</p>
    <p>{{number + 1}}</p>
    <!-- 表达式 -->
    <p>{{flag ? 'yes' : 'no'}}</p>
    <p>{{message.split('').reverse().join('') }}</p>
    <!-- 不是表达式 -->
    <!-- <p>{{var a = 1}}</p> -->
    <div v-html="html1"></div>
    <div v-html="html2">
      <p> 原有元素被笼罩 </p>
    </div>
    <!-- xss 攻打 -->
    <div v-html="html3"></div>
  </div>
</body>
<script>
  var app = new Vue({
    el: '#app',
    data: {
      message: 'Hello Vue!',
      dynamicId: Math.random(),
      number: 1,
      flag: true,
      html1: "<p> tao1 </p>",
      html2: "<h1> tao2 </h1>",
      html3: "<img src=123 onerror=alert(1)>",
    }
  })
</script>
</html>
正文完
 0