快速入门Vue

2019-03-04 15:04:19 浏览数 (1)

每天进步一丢丢,连接梦与想

刚进公司做的第一个项目,刚好前端人手不足,需要我们后端同时兼顾前后端的工作,采用的iview UI框架,基于vue.js。

先给大家科普一下:

前端JS框架和前端UI框架的区别

前端JS框架:基于js进行一定封装与一些独立设计的框架 比如:jQuery,Vue,React,angular等等

前端UI框架:基于某种js框架进行设计的UI组件库,就是一些写好的UI组件,拿来就能用,不需要自己写css

比如: 基于JQuery的Bootstrap,jQuery Smart UI 等 基于Vue的iView,Element等 基于React的Material-UI,React Desktop等

对于刚接触的Vue框架的我来说,vue最大的特性,莫过于双向绑定

单向绑定和双向绑定

Model:数据模型 View:视图

单向绑定:把Model绑定到View,当我们用JavaScript代码更新Model时,View就会自动更新。因此,我们不需要进行额外的DOM操作,只需要进行Model的操作就可以实现视图的联动更新。 例如,我们定义好一个JavaScript对象作为Model,并且把这个Model的两个属性绑定到DOM节点上:

双向绑定:把Model绑定到View的同时也将View绑定到Model上,这样就既可以通过更新Model来实现View的自动更新,也可以通过更新View来实现Model数据的更新。 所以,当我们用JavaScript代码更新Model时,View就会自动更新,反之,如果用户更新了View,Model的数据也自动被更新了。

例如当用户填写表单时,View的状态就被更新了,在浏览器中,当用户修改了表单的内容时,我们绑定的Model会自动更新,那就相当于我们把Model和View做了双向绑定:

Vue的基本结构
代码语言:javascript复制
//这个div在最外层,将其他的div或者其他元素都包起来
<div id="app">...</div>

<script>
const app = new Vue({
        //找到对应的dom树,将他转成vue对象
        el: '#app', 
        //数据属性:存放数据
        data: {
            message: 'Vue的生命周期'
        },
        //方法属性:存放方法
        methods:{
            test:function(){
                console.info("测试方法")
            }
        },
        //创建完成状态函数:
        //组件实例创建完成,属性已绑定,但DOM未生成
        //常用于数据的初始化操作
        created () {
            console.group('------created创建完毕状态------');
            console.log("%c%s", "color:red","el     : "   this.$el); //undefined
            console.log("%c%s", "color:red","data   : "   this.$data); //已被初始化 
            console.log("%c%s", "color:red","message: "   this.message); //已被初始化
        },
        //DOM渲染完成
        //常用于数据的初始化操作,当需要操作DOM时,在此处进行
         mounted: function () {
            console.group('mounted 挂载结束状态===============》');
            console.log("%c%s", "color:red","el     : "   this.$el); //已被初始化
            console.log(this.$el);    
            console.log("%c%s", "color:red","data   : "   this.$data); //已被初始化
            console.log("%c%s", "color:red","message: "   this.message); //已被初始化 
        }
    })
</script>

下面写一个使用例子

代码语言:javascript复制
<!-- 引入 Vue.js -->
<script src="//vuejs.org/js/vue.min.js"></script>
<!-- 引入 iView的样式css -->
<link rel="stylesheet" href="//unpkg.com/iview/dist/styles/iview.css">
<!-- 引入 iView -->
<script src="//unpkg.com/iview/dist/iview.min.js"></script>
<body>
<div id="app">
    <div style="margin:auto;height: 300px;width: 300px">
    <b>View</b>
<i-input v-model="name" ></i-input>
<i-input v-model="age" ></i-input>
<i-button @click="test">测试按钮</i-button>
<p><b>Data</b></p>
<p>{{name}}</p>
<p>{{age}}</p>
    </div>
</div>
</body>
<script>
    const app = new Vue({
        el: '#app', //找到对应的dom树。将他转成vue对象,
        //数据属性:存放数据
        data: {
             name:"ken",
             age:"26"
         },
        //方法属性:存放方法
        methods: {
            test:function(){
                this.name = "测试按钮-名称"
                this.age = "测试按钮年龄"
            }
        }
    })
</script>

1.data初始化DOM的值 2.使用v-model属性进行数据绑定 3.Dom的值与data的值双向绑定绑定,相互影响

可看下面动图

这里只做了个小演示,我的vue水平也差不多到这了(hahah~) 我这里使用的iview UI框架,也可以尝试其他的UI框架,UI框架都差不多,只是一些样式和组件

就到这了,感兴趣的可以自己动手试试,有js,Jquery基础的上手很快! 我们被培训了半个小时,就开始动手写了

如果觉得不错,请给个「好看」

分享给你的朋友!

THANDKS

- End -

0 人点赞