Vue的简单学习入门

1Vue框架的引入

创建一个web工程,在一个html中引入vue的文件。

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

2Vue简单的demo

<div id="app">
        {{message}},======={{say()}}
    </div>
<script>
    new Vue({
        el:"#app",
        data:{
            message:"hello",
            user:{
                username:"张三",
                age:18
            }
        },
        methods:{
            say(){
                return this.user.age;
            }
        }
    })

</script>

3Vue常用表达式(加减乘除)

   <div id="app">
        <!--普通的加减乘除-->
        {{3+5}}<!-- 8 -->
        {{3-5}}<!-- -2 -->
        {{3*5}}<!-- 15 -->
        {{3/5}}<!-- 0.6 -->
        {{3+num}}<!-- 如果被加的元素是字符串,就是拼接字符串 -->
    </div>
<script>
    new Vue({
        el:"#app",
        data:{
            num:"15"

        }
    })

</script>

4Vue常见指令

     <div id="app">
            <!--v-model-->
            <input type="text" v-model="message" value="你好"/>{{message}}
            <!--v-text-->
            <div v-text="message2">
                {{message2}}
            </div>
            <!--v-html-->
            <!--v-text和v-html的区别是后者可以解析属性值中的html标签-->
            <div v-html="message3">
                {{message3}}
            </div>
        </div>
    <script>
        new Vue({
            el:"#app",
            data:{
                message:"你好",
                message2:"nijojoo",
                message3:"<h1>吃的什么?</h1>"
            }
        })
    </script>

5Vue常见重要指令(个人认为)

5.1v-for

<div id="app">
        <!--
            遍历对象
            v:属性值;k:属性名;i:索引,类似数组
        -->
        <ul>
            <li v-for="(v,k,i) in user">{{i}}+{{k}}+{{v}}
            </li>
        </ul>
        <!--
             遍历数组
              v代表遍历的值,i代表数组下标
        -->
        <ul>
            <li v-for="(v,i) in hobbys">{{i}}+{{v}}
            </li>
        </ul>
        <!--
            遍历字符串
        -->
        <ul>
            <li v-for="(v,i) in str">{{i}}+{{v}}
            </li>
        </ul>
    </div>
<script>
    new Vue({
        el:"#app",
        data:{
            user:{
                name:"张三",
                age:18,
                hobbys:"看书"
            },
            hobbys:["看书","跳舞","写代码"],
            str:"烟笼寒水"

        }
    })
</script>

5.2v-for案例,创建简单的表格

    <div id="app">
        <table>
            <tr>
                <!--表头-->
                <th>编号</th>
                <th>姓名</th>
                <th>年龄</th>
                <th>爱好</th>
                <th>部门</th>
            </tr>
            <tr v-for="v in user">
                <td>{{v.id}}</td>
                <td>{{v.name}}</td>
                <td>{{v.age}}</td>
                <td>{{v.hobby}}</td>
                <td>{{v.department.deptname?v.department.deptname:""}}</td>
            </tr>
        </table>
    </div>
<script>
    new Vue({
        el:"#app",
        data:{
            user:[
                {id:1,name:"张三",hobby:"唱歌",age:20,department:{deptname:"采购部"}},
                {id:2,name:"李四",hobby:"唱歌",age:33,department:{deptname:"采购部"}},
                {id:3,name:"王五",hobby:"唱歌",age:19,department:{deptname:"采购部"}},
            ]
        }
    })
</script>

5.3v-bind指令的使用

<div id="app">
        <!--v-bind的几种写法-->
        <img v-bind:src="src" v-bind:width="width" alt=""/>
        <img :src="src" :width="width" alt=""/>
        <img v-bind="img"/>
    </div>
<script>
    new Vue({
        el:"#app",
        data:{
            src:"img/1.png",
            width:250,
            img:{
                src:"img/1.png",
                width:250
            }
        }
    })
</script>

5.4v-model指令

<div id="app">
        <input type="text" v-model="inputVal" /> {{inputVal}}
        <hr />
        性别:
        <input name="sex" v-model="sexVal" value="true" type="radio" /> 男
        <input name="sex" v-model="sexVal" value="false" type="radio" /> 女
        {{sexVal}}
        <hr />
        爱好:
        <input name="hobby" v-model="hobbyVal" value="1" type="checkbox" /> 打篮球
        <input name="hobby" v-model="hobbyVal" value="2" type="checkbox" /> 写代码
        <input name="hobby" v-model="hobbyVal" value="3" type="checkbox" /> 找bug
        <input name="hobby" v-model="hobbyVal" value="4" type="checkbox" /> 看别人写代码
        {{hobbyVal}}
        <hr />
        国家:
        <select v-model="selectVal">
            <option value="china">中国</option>
            <option value="jpan">日本</option>
            <option value="usa">美国</option>
            <option value="fei">南非</option>
        </select>
        {{selectVal}}
        <hr />
        <textarea v-model="textareaVal"></textarea> {{textareaVal}}
    </div>

    <script>
        new Vue({
            el:"#app",
            data:{
                inputVal:"真的太强了",
                sexVal:false,
                hobbyVal:[1,4],
                selectVal:"fei",
                textareaVal:"我是一个中国人"
            }
        })
    </script>

6vue自定义组件

注意事项:

1:需要先定义组件,然后再进行挂载

2:template中必须要有一个根标签,否则解析错误

<div id="app">
    <mycom></mycom>
    <mycom1></mycom1>
</div>

<div id="app1">
    <mycom></mycom>
</div>
<script>
    // 全局组件
    Vue.component("mycom",{
       template:"<h1>哈哈哈</h1>"
    });
    new Vue({
        el:"#app",
        data:{},
        //局部组件
        components:{
            mycom1:{
                template:"<h1>你看的见我吗??</h1>"
            }
        }
    });
    new Vue({
        el:"#app1",
        data:{}
    })
</script>

转载于:https://my.oschina.net/u/4107793/blog/3030954

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值