• VUE-02 基本指令


    公司要用VUE开发前端页面,简单学点命令。

    指令:dom元素的行间属性,vue提供了内置的指令,必须v-开头,后面的值均为变量

    1、{{msg}}   —— 文本插值

     1     <div id="app"> 
     2         <p>{{ message }}</p> 
     3     </div>
     4 
     5   <script> 
     6         new Vue({
     7       el: '#app',
     8       data: { message: 'Hello World !' } 
     9         })
    10   </script> 

    2、v-html   —— 绑定HTML代码

     1   <div id="app">
     2     <div v-html="message"></div>
     3   </div>
     4 
     5   <script>
     6     new Vue({
     7       el: '#app',
     8       data: { message: '<h1>Hello World !</h1>' }
     9     })
    10   </script>

    3、v-model  —— 表单绑定

      指令用来在 input、select、textarea、checkbox、radio 等表单控件元素上创建双向数据绑定,根据表单上的值,自动更新绑定的元素的值。

      v-model(表单元素)忽略掉了value,checked,selected,将数据绑定到视图上,视图修改后会影响数据。

      绑定的是value属性值。

     1 <div id="app">
     2     <p>{{ message }}</p>
     3     <input v-model="message">
     4 </div>
     5     
     6 <script>
     7 new Vue({
     8   el: '#app',
     9   data: {
    10     message: 'Hello!'
    11   }
    12 })
    13 </script>

    4、v-on   ——  事件绑定

      用于监听 DOM 事件,v-on: 可以缩写为@。

       <a @click="doSomething"></a>

     1 <div id="app">
     2     <p>{{ message }}</p>
     3     <button v-on:click="reverseMessage">反转字符串</button>
     4 </div>
     5     
     6 <script>
     7 new Vue({
     8   el: '#app',
     9   data: {
    10     message: 'HELLO!'
    11   },
    12   methods: {
    13     reverseMessage: function () {
    14       this.message = this.message.split('').reverse().join('')
    15     }
    16   }
    17 })
    18 </script>

    5、v-bind  —— 绑定属性和属性值

      v-bind 指令被用来响应地更新 HTML 属性

     1 <div id="app">
     2     <pre><a v-bind:href="url">本页面</a></pre>
     3 </div>
     4     
     5 <script>
     6 new Vue({
     7   el: '#app',
     8   data: {
     9     url: 'https://www.cnblogs.com/onroad2019/p/11475665.html'
    10   }
    11 })
    12 </script>

     6、v-if   —— 条件 (添加 / 移除 此标签)

     1 <div id="app">
     2     <p v-if="seen">你看不到我</p>
     3     <template v-if="ok">
     4       <h1>看看看</h1>
     5       <p>我出现了</p>
     6       <p>哈哈哈!</p>
     7     </template>
     8 </div>
     9     
    10 <script>
    11 new Vue({
    12   el: '#app',
    13   data: {
    14     seen: false,
    15     ok: true
    16   }
    17 })
    18 </script>

    7、v-else ——  条件

     1 <div id="app">
     2     <div v-if="Math.random() > 0.5">
     3       大于0.5
     4     </div>
     5     <div v-else>
     6       小于0.5
     7     </div>
     8 </div>
     9     
    10 <script>
    11 new Vue({
    12   el: '#app'
    13 })
    14 </script>

    8、v-else-if —— 条件

     1 <div id="app">
     2     <div v-if="code >= 90">
     3       优秀
     4     </div>
     5     <div v-else-if="code >= 85">
     6       良好
     7     </div>
     8     <div v-else-if="code >= 60 ">
     9       及格
    10     </div>
    11     <div v-else>
    12       不及格
    13     </div>
    14 </div>
    15     
    16 <script>
    17 new Vue({
    18   el: '#app',
    19   data: {
    20     code: 88
    21   }
    22 })
    23 </script>

    v-else 、v-else-if 必须跟在 v-if 或者 v-else-if之后。

    9、v-show  —— 展示

      v-show 指令来根据条件展示元素

     1 <div id="app">
     2     <h1 v-show="ok">Hello!</h1>
     3 </div>
     4     
     5 <script>
     6 new Vue({
     7   el: '#app',
     8   data: {
     9     ok: true
    10   }
    11 })
    12 </script>

    与v-if的区别

    v-show:这个页面框架存在,false时,style=display:none

    v-if:为false时,这个html将会被移除。

    10、v-for   —— 循环语句

      1)、数组循环

     1 <div id="app">
     2   <ol>
     3     <li v-for="aa in names">
     4       {{ aa.name }}
     5     </li>
     6   </ol>
     7 </div>
     8 
     9 <script>
    10 new Vue({
    11   el: '#app',
    12   data: {
    13     names: [
    14       { name: '小燕子' },
    15       { name: '紫薇' },
    16       { name: '晴格格' }
    17     ]
    18   }
    19 })
    20 </script>

      结果:

      2)、循环对象值

     1 <div id="app">
     2   <ol>
     3     <li v-for="aa in introduction">
     4       {{ aa}}
     5     </li>
     6   </ol>
     7 </div>
     8 
     9 <script>
    10 new Vue({
    11   el: '#app',
    12   data: {
    13     introduction: 
    14       { name: '小燕子',position: '格格' ,age:60 }
    15   }
    16 })
    17 </script>

      结果:

       3)、多个参数

     1 <div id="app">
     2   <ul>
     3     <li v-for="(value, key, index) in object">
     4      {{ index }}. {{ key }} : {{ value }}
     5     </li>
     6   </ul>
     7 </div>
     8 
     9 <script>
    10 new Vue({
    11   el: '#app',
    12   data: {
    13     object: {
    14       name: '小燕子',
    15       position: '格格',
    16       age: 60
    17     }
    18   }
    19 })
    20 </script>

      结果:

    11、过滤器

      Vue.js 允许你自定义过滤器,被用作一些常见的文本格式化。由"管道符"指示。

     1 <div id="app">
     2   {{ message | capitalize| pinjie('Hello') }}
     3 </div>
     4     
     5 <script>
     6 new Vue({
     7   el: '#app',
     8   data: {
     9     message: 'andy'
    10   },
    11   filters: {
    12     capitalize: function (value) {
    13       if (!value) return ''
    14       value = value.toString()
    15       return value.charAt(0).toUpperCase() + value.slice(1)
    16     },
    17     pinjie: function (v,arg1){
    18         return arg1+' '+v;
    19     }
    20     
    21   }
    22 })
    23 </script>

    结果:  Hello Andy

  • 相关阅读:
    python每日一题:使用套接字创建分布式进程
    市盈率分析
    python每日一题:分布式进程之坑点
    python每日一题:比较单线程,多线程,协程的运行效率
    python每日一题:锁知识点
    python每日一题:查找一篇文档中的人名和城市
    python之装饰器@
    python每日一题:利用字典实现超市购物程序
    【Java基础】多线程
    【Java基础】异常处理
  • 原文地址:https://www.cnblogs.com/onroad2019/p/11475665.html
Copyright © 2020-2023  润新知