VUE介绍

5 篇文章 0 订阅

一、特点

1. 应用范围广,学习成本低

2. 生态环境好:社区活跃;中文手册完整

3. 上手简单,容易使用

下载并用<script>引入,VUE会被注册为一个全局变量

<body>
    <div id="root">
        <div :style="styleObj @click="handleBtnClick">//@click也可以写作v-on:click
            Hello World!
        </div>
    </div>
</body>


<script>
    var vm  = new Vue({
        el: '#root',
        data: {
            styleObj:{
                color:"red"
            }
        },
        methods:{
            handleBtnClick:function(){
                alert("我被点击了");
            }
        }
    })
</sctipt>

4. 代码轻量

<body>
    <div id="root">
        <div @click="handleBtnClick">//@click也可以写作v-on:click
            Hello World!
        </div>
    </div>
</body>


<script>
    var vm  = new Vue({
        el: '#root',
        data: {
            message:'World Cup'//访问:vm.$data.message或vm.message
            }
        },
        methods:{
            handleBtnClick:function(){
                alert("我被点击了");
            }
        }
    })
</sctipt>

vue变量访问属性:vm.$data  以区分用户与vue本身定义的属性

:styleObj ---> 是v-bind:styleObj的省略

@是"v-on:"的缩写

5. 发展迅速

Nuxt框架:快速实现vue服务器端渲染

Weex框架:使用Vue语法,能编写原生App

6. Vue 不支持 IE8 及以下版本

 

二、例子

1. vue对象解读

el:区域选择器

data:

  • mustache语法——{{message}} 插值表达式,每个绑定都只能包含单个表达式
  • data数据是双向绑定,当这些数据改变时,视图会进行重渲染。只有当实例被创建时就已经存在于 data 中的 property 才是响应式的。也就是说如果你添加一个新的 property,将不会触发任何视图的更新;如果你知道你会在晚些时候需要一个 property,但是一开始它为空或不存在,那么你仅需要设置一些初始值
  • 使用 Object.freeze(),会阻止修改现有的 property,响应系统无法再追踪变化

 

<body>
    <div id="root"></div>
</body>


<script>
    var root = document.getElementById('root');
    root.innerHTML = '比利时 3:2 日本';
</sctipt>
<body>
    <div id="root">
        {{message}}
    </div>
</body>


<script>
    var vm  = new Vue({
        el: '#root',
        data: {
            message:'World Cup'//用mustache语法放入页面中
            }
        },
        methods:{
            handleBtnClick:function(){
                alert("我被点击了");
            }
        }
    })
</sctipt>

 2. 2秒后改变内容

<body>
    <div id="root"></div>
</body>
<script type="text/javascript">
    var root = document.getElementById('root');
    root.innerHTML= '这是2014世界杯';
    
    setTimeout(function(){
        root.innerHTML='1234556';
    },2000)
</script>
<body>
    <div id="root">
        {{message}}
    </div>
</body>


<script>
    var vm  = new Vue({
        el: '#root',
        data: {
            message:'World Cup'//用mustache语法放入页面中
            }
        },
        methods:{
            handleBtnClick:function(){
                alert("我被点击了");
            }
        }
    })
    setTimeout(function(){
        vm.$data.message = '123456';
    },2000)
</sctipt>

3. input添加到列表中

<body>
    <input v-model="inputValue" type="text" />
    <button v-on:click:"handleBtnClick">提交</button>
    <ul>
        <li v-for:"item in list">{{item}}</li>
    </ul>
</body>


<script>
    var vm  = new Vue({
        el: '#root',
        data: {
            list:[],
            inputValue:''
            }
        },
        methods:{
            handleBtnClick:function(){
                this.list.push(this.inputValue);
            }
        }
    })
</sctipt>

三、MVVM框架

MV*包括MVC、MVP、MVVM

MVVM框架由Model、View、ViewModel构成。

Model指的是数据,在前端对应的是JavaScript对象。

View指的是视图,在前端对应的是DOM

ViewModel观察Model和View的变化来做更新,实现了数据的双向绑定。

前端MVVM框架主要包括:angularJS、reactJS、VueJS

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值