首页 > 其他 > 详细

一、Vue基础语法

时间:2020-05-01 17:54:29      阅读:92      评论:0      收藏:0      [点我收藏+]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://vuejs.org/js/vue.min.js"></script>
</head>
<body>  

    一Vue的基础语法

1: el可以使用id选择器,el="#app"
<div id="app">
    {{msg}}
</div>
<script type="text/javascript">
 var vm=new Vue{(
     el:"#app",
     data:{
          msg:"Hello World"
         }
  )};
</script>
</body>
</html>

  在ie浏览器上显示的效果如图所示

技术分享图片

2:el可以使用class类选择器,el=".app"
<div class="app">
    {{msg}}
</div>
<script type="text/javascript">
 var vm=new Vue{(
     el:".app",
     data:{
          msg:"Hello World"
         }
  )};
</script>
</body>
</html>
3el:可以使用dom对象el=document.getElementById("app")
<script type=‘text/javascript‘>
    var vm=new Vue({
        el: document.getElementById("app"),
        data:{
            msg:"Hello World"
        }
    });
</script>
</body>
</html>
在ie浏览器中显示如上图,但是el不能使用html或body

二、插值表达式基本用法
<div id=‘app‘>
        <!-- 差值 **表达式** -->
        <p>string  ——  {{string}}</p>
        <p>count == 100  ——  {{count == 100}}</p>
        <p>count < 100  ——  {{count < 100}}</p>
        <p>count+10  ——  {{count+10}}</p>
        <p>string.split("|")  ——  {{string.split("|")}}</p>
        <p>count < 100?"小于":"大于"  ——  {{count < 100?"小于":"大于"}}</p>
        <p>{{fun2}}</p>
        <p>{{fun2()}}</p>
    </div>
    <script type=‘text/javascript‘>
    //MVVM:M->model  V->view 即 html代码  VM->viewModel 负责 数据即Model与视图即View之间的调度
    var vm =  new Vue({
           el:"#app",
           data:{
               string:"Hello word | 你好世界",
               count:100,
               array:[1,2,3,4,5],
               object:{
                   id:1,
                   name:"小李"
                }
           },//网页初始化构造器
           mounted() {
               this.fun1();
           },//方法体
           methods: {//ES5函数写法
               fun1:function(){
                  console.log(this.string) 
               },
               //ES6的函数简写形式
               fun2(){
                return "你好世界";
               }
           },
       });
    </script>
</body>
</html>

 在ie浏览器中显示的效果如下图所示

技术分享图片

三、vue指令:凡是v-开头的都叫vue指令

      v-text和v-html类比innerText和innerHTML相比较

       插值表达式:1是插入时的数据渲染2尚未渲染完成时会出现丑丑的大括号

       v-text,v-html:1是整体是的数据替换2尚未渲染完成时不会出现东西(渲染标签中内容事先除外)

      注意:非必要是尽量不要使用或者禁止使用v-html,因为会有xss跨站脚本攻击

 <div id="app">
        <p>{{string}}--舒大强你好么</p>
        <p v-text="string">舒大强你好么</p>
        <p v-html="string">舒大强你好么</p>
    </div>
    <script type="text/javascript">
        setTimeout(function(){
            var vm=new Vue({
            el:"#app",
            data:{
                string:"<b>Hello World</b>| 你好世界"
            }
        });},5000);        
    </script>
</body>
</html>

  在ie浏览器中显示如下图一,图二有5秒钟的变化

技术分享图片

技术分享图片

四、Vue指令条件选择

v-if :更大的开销,适用于不平凡切换显示状态,并且初始渲染时不必渲染,多重判断时适合使用之v-if。

v-show :开销较小,适用于平凡切换显示状态

<div id="app">
        <p v-if="isShow">v-if————————{{string}}</p>
        <p v-else>v-else————————{{string}}</p>
        <p v-show="isShow">v-show————————{{string}}</p>
    </div>
    <script>
        var vm =  new Vue({
           el: "#app",
           data:{
               string:"<b>Hello word</b> | 你好世界",
               isShow:false
           }
       });
</body>
</html>

在ie浏览器上显示效果如图技术分享图片

五、Vue事件

5.1v-on:监听事件可以省略成@:

为了让用户和你的应用进行交互,我们可以用 v-on 指令添加一个事件监听器,通过它调用在 Vue 实例中定义的方法:

<div id="app">
        {{string}}
       <button v-on:click="clickMe(‘Hello ice‘)">点击我</button>
        <!-- <button @click="clickMe(‘other ice‘)">点击我</button> -->
        <input type="text" v-bind:value="string">
</div>
<script>
        var vm =  new Vue({
           el: "#app",
           data:{
               string:"Hello word"
           },
           methods: {
            clickMe:function(param){
                this.string = param;
            }
           }
       });
 </scrip>
</body>
</html>

 在浏览器中显示效果如图一、图二、

技术分享图片     技术分享图片

5.2Vue的click事件只触发一次,需要在click后加once指令如:@click.once="#"

<div id="app">
        {{string}}
        <!-- click.once 只会触发一次 -->
        <button @click.once="clickOnce">只触发一次</button>
</div>
    <script>
        var vm =  new Vue({
           el:"#app",
           data:{
               string:"Hello word"
           }
           methods: {
            clickOnce(){
                alert("我被触发了");
            }
           }
       });
    </script>
</body>
</htnl>
          在ie浏览器上显示效果如图一,图二

技术分享图片   技术分享图片

5.3Vue的click.privent可以组织默认事

<div id="app">
{{string}}
 <a href="http://www.baidu.com" @click.prevent="stopjump">百度</a>
</div>
    <script>
        var vm =  new Vue({
           el: "#app",
           data:{
               string:"Hello word"  
           }
           methods: {   
            stopjump(){
                alert("我被触发了");
            }
           }
       });
    </script>
</body>
</html>

 

  在ie浏览器上显示效果如图一,图二

技术分享图片  技术分享图片

5.4Vue的click.stop 可以阻止冒泡事件

<div id="app">
        {{string}}
           <div @click="alert(1)">
            <div>
                <div @click.stop="alert(3)">
                    我是div
                </div>
            </div>
        </div>
</div>
<script>
  var vm=new Vue({
              el:"#app",
              data:{
                 msg:"Hello word"
              }
     });
</scriipt> 
</body>
</html>

 在ie浏览器中现实的效果如图所示:说明:因为在click事件后使用了stop事件所以在ie浏览器上用鼠标点击”我是div“只会弹出来对话框3阻止了对话框1.

技术分享图片

 5.5Vue文本框在文本框中输入字符串后会激发v-on:change事件

<div id="app">
        {{string}}
        <input type="text" @change="change"> 
        <input type="text" v-bind:value="string" @input="inputChange($event)">
    </div>
    <script>
        var vm =  new Vue({
           el: document.getElementById("app"),
           data:{
               string:"Hello word"
          },
           methods: {
            change(){
                alert("数据改变了");
            },
            inputChange(e){
               this.string = e.target.value;
            }
           }
       });
    </script>
</body>
</html>       

 在ie浏览器上显示的效果如图所示一,二,三所示

技术分享图片

 

技术分享图片技术分享图片

 

一、Vue基础语法

原文:https://www.cnblogs.com/csb1985-304918132/p/12811447.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!