美文网首页程序员
vue js入门看这篇就够了

vue js入门看这篇就够了

作者: IT锟 | 来源:发表于2017-09-03 23:01 被阅读1020次

导语

第一步需要导入vuejs文件到页面
<script src="https://vuejs.org/js/vue.js" type="text/javascript"></script>

修改定界符
delimiters: ['[%', '%]']

双向数据绑定

<div id="app">
    <input type="text" v-model="message"/>
    <h2>[% message %]</h2>
</div>

<script>
new Vue({
    // 修改定界符
    delimiters: ['[%', '%]'],
    //指定绑定的节点
    el:'#app',
    //保存数据
    data:{
        message:""
    }
});
</script>

v-show

<div id="app">
    <div class="error" v-show="!content">请输入内容:</div>
        <textarea v-model="content"></textarea>
    <input type="button" v-show="content" value="提交"/>
</div>

<script>
new Vue({
    // 修改定界符
    delimiters: ['[%', '%]'],
    //指定绑定的节点
    el:'#app',
    //保存数据
    data:{
        content:""
    }
});
</script>

事件绑定

<div id="app">
    <form action="demo.html" 
        v-on:submit="submitForm">
            <input type="submit" value="提交">
    </form>
</div>

<script>
new Vue({
    // 修改定界符
    delimiters: ['[%', '%]'],
    //指定绑定的节点
    el:'#app',
    //写所有的方法
    methods:{
        submitForm: function(e){
            //废除默认行为
            e.preventDefault();
            alert("点我做啥?");
        }
    }
});

</script>

v-on:submit="submitForm" 可以简写成 @submit="submitForm"
e.preventDefault(); 这是取消默认事件的方法,也可以写到HTML中
修改后 @submit.prevent="submitForm" 这样写,在function中就不需要写 e.preventDefault(); 这个方法了

组件开发

<div id="app">
    <counter heading="喜欢"></counter>    
    <counter heading="不喜欢"></counter> 
</div>
 
<!-- 模板 默认是不解析的 -->
<template id="counter-template">
    <div>
        <h1>[% heading %]</h1>
        <button
        @click="count += 1"
        >[% count %]</button>
    </div>
</template>


<script>

//自定义的组件
Vue.component('counter',{
    //修改定界符
    delimiters: ['[%', '%]'],
    //指定模板
    template:'#counter-template',
    //指定外界传入的参数
    props:["heading","color"],
    //指定变量
    data : function(){
        return { count : 0 };
    }
});

//实例化vue
new Vue({
    // 修改定界符
    delimiters: ['[%', '%]'],
    //指定绑定的节点
    el:'#app'
}

</script>


computed

翻译过来就是计算后的属性

computed使用场景:用于处理需要处理后的属性

<div id="app">
    <input type="text" v-model="fistName"/>
    [% username %]
</div>

new Vue({
    // 修改定界符
    delimiters: ['[%', '%]'],
    //指定绑定的节点
    el:'#app',
    //保存数据
    data:{
        fistName:"li",
        lastName:"si",
    },
    //计算后的属性
    computed:{
        username:function(){
            return this.fistName+" "+this.lastName;
        }
    }
});

处理列表数据

<div id="app">
    <ul>
        <li v-for="task in tasks">
            [% task.body %]
        </li>
    </ul>
</div>

new Vue({
    // 修改定界符
    delimiters: ['[%', '%]'],
    //指定绑定的节点
    el:'#app',
    //保存数据
    data:{
        tasks:[
            {body:"go to movie1",completed:true},
            {body:"go to movie2",completed:true},
            {body:"go to movie3",completed:false},
            {body:"go to movie4",completed:true},
            {body:"go to movie5",completed:true},
        ]
    }
});

vue 要处理列表使用 v-for

后期继续更新,有问题欢迎留言!

[获取授权]

相关文章

网友评论

    本文标题:vue js入门看这篇就够了

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