vue -1

作者: 聪明的小一休 | 来源:发表于2019-08-22 08:55 被阅读0次
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>
    </head>
    <body>
        <div id="app">
            我的姓名是:{{name}}
            <input type="text" v-model="name" /><!-- 双向绑定 -->
        </div>      
        <script type="text/javascript">
            let vm=new Vue({
                el:"#app",
                data:{
                    name:"wcj"
                }
            })
        </script>
    </body>
</html>

文本渲染 (v-text)(v-html)

    <body>
        <div id="app">
            我的姓名是:{{name}}
            <div v-text="message1"></div>
            <div v-html="message2"></div>
            
            <input type="text" v-model="name" /><!-- 双向绑定 -->
        </div>
        
        <script type="text/javascript">
            let vm=new Vue({
                el:"#app",
                data:{
                    name:"wcj",
                    message1:"this is <i>text</i>",/* 文本 */
                    message2:"this is <i>html</i>" /* 斜体 */
                }
            });
        </script>
    </body>

属性绑定(光标悬停,提示信息)v-bind

    <body>
        <div id="app">
            我的姓名是:{{name}}
            <div v-text="message1"></div>
            <div v-html="message2"></div>
            <div v-bind:title="msg">this is title</div>
            <div v-bind:title="msg2">this is title2</div>
            <div>
                <img :src="img_url" />
            </div>
            <input type="text" v-model="name" /><!-- 双向绑定 -->
        </div>
        
        <script type="text/javascript">
            let vm=new Vue({
                el:"#app",
                data:{
                    name:"wcj",
                    message1:"this is <i>text</i>",/* 文本 */
                    message2:"this is <i>html</i>", /* 斜体 */
                    msg:"this is title",
                    msg2:"this is title2",
                    img_url:"images/1.0.jpeg"
                }
            });
        </script>
    </body>

class绑定方式

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>
        <style type="text/css">
            .bgred{
                background-color: red;
            }
            .bgsize{
                width: 300px;
                height: 300px;
            }
        </style>
    </head>
    <body>
        <div id="app">
            我的姓名是:{{name}}
            <div v-text="message1"></div>
            <div v-html="message2"></div>
            <div v-bind:title="msg">this is title</div>
            <div v-bind:title="msg2">this is title2</div>
            <div>
                <img :src="img_url" />
            </div>
            <!-- 第一种class绑定方式 -->
            <div :class="{bgred:isbgred,bgsize:isbgsize}"></div>
            <!-- 第二种class绑定方式 -->
            <div :class="classObj"></div>
            <!-- 第三种class绑定方式 -->
            <div :class="[c1,c2]"></div>
            <input type="text" v-model="name" /><!-- 双向绑定 -->
        </div>
        
        <script type="text/javascript">
            let vm=new Vue({
                el:"#app",
                data:{
                    name:"wcj",
                    message1:"this is <i>text</i>",/* 文本 */
                    message2:"this is <i>html</i>", /* 斜体 */
                    msg:"this is title",
                    msg2:"this is title2",
                    img_url:"images/1.0.jpeg",
                    isbgred:true,
                    isbgsize:true,
                    classObj:{
                        bgred:false,
                        bgsize:true
                    },
                    c1:"bgred",
                    c2:"bgsize"
                }
            });
        </script>
    </body>
</html>

三元表达式;属性移除

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>
        <style type="text/css">
            .bgred{
                background-color: red;
            }
            .bgsize{
                width: 300px;
                height: 300px;
            }
            .bgblue{
                background-color: blue;
            }
        </style>
    </head>
    <body>
        <div id="app">
            我的姓名是:{{name}}
            <div v-text="message1"></div>
            <div v-html="message2"></div>
            <div v-bind:title="msg">this is title</div>
            <div v-bind:title="msg2">this is title2</div>
            <div>
                <img :src="img_url" />
            </div>
            <!-- 第一种class绑定方式 -->
            <div :class="{bgred:isbgred,bgsize:isbgsize}"></div>
            <!-- 第二种class绑定方式 -->
            <div :class="classObj"></div>
            <!-- 第三种class绑定方式 -->
            <div :class="[c1,c2]"></div>
            
            <!-- 支持三元表达式 -->
            <div class="bgsize" :class="[isA?classA:classB]"></div>
            
            <!-- 对于这类属性,disabled, readonly,checked,selected,controls,autoplay,设置值为false,代表属性移除 -->
            <button :disabled="isDisabled" type="button">测试disabled</button>

            <input type="text" v-model="name" /><!-- 双向绑定 -->
        </div>
        
        <script type="text/javascript">
            let vm=new Vue({
                el:"#app",
                data:{
                    name:"wcj",
                    message1:"this is <i>text</i>",/* 文本 */
                    message2:"this is <i>html</i>", /* 斜体 */
                    msg:"this is title",
                    msg2:"this is title2",
                    img_url:"images/1.0.jpeg",
                    isbgred:true,
                    isbgsize:true,
                    classObj:{
                        bgred:false,
                        bgsize:true
                    },
                    c1:"bgred",
                    c2:"bgsize",
                    isA:false,
                    classA:"bgred",
                    classB:"bgblue",
                    isDisabled:true
                }
            });
        </script>
    </body>
</html>

js事件处理

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>
        <style>
            #div1{
                width: 300px;
                height: 300px;
                border:1px solid #000000;
            }
            .bgred{
                background-color: red;
            }
        </style>
    </head>
    <body>
        <div id="app">
            <button @click="count=count+1">{{count}}</button>
            <button @click="cl">调用无参的方法{{message}}</button>
            <button @click="say('hi')">调用有参的方法{{test}}</button>
            <div id="div1" :class="{bgred:flag}" @mouseover="changebg" @mouseout="changebg"></div>
        </div>
        
        <script>
            let vm=new Vue({
                el:"#app",
                data:{
                        count:0,
                        message:"hello",
                        test:'',
                        flag:false
                },
                methods:{
                    cl(){
                        //this=vm
                        this.message=this.message+" vue!";
                    },
                    say(msg){
                        this.test=msg;
                    },
                    changebg(){
                        this.flag=!this.flag;
                    }
                }
            });         
        </script>       
    </body>
</html>

相关文章

网友评论

      本文标题:vue -1

      本文链接:https://www.haomeiwen.com/subject/pdwbsctx.html