美文网首页
Vue.js初探

Vue.js初探

作者: 大鱼的自我成长 | 来源:发表于2017-02-11 21:13 被阅读13次
  1. Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的 渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。
  2. Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。
  3. Vue 完全有能力驱动采用单文件组件Vue 生态系统支持的库开发的复杂单页应用。
  4. Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定组合的视图组件
    ————————VueJS————————

个人总结:关注数据,数据驱动页面

基本套路

1.使用<script>引用Vue.js文件。
2.body或div#appName,设置Vue的控制区域,与angular中ng-app一样。
<element id='appName'> 
    comtent
</element>

%注意:Vue2.0中最好不要绑到body元素上。

3.在body内添加script,或独立的js文件。常用固定套路如下:
<script>
     var vm = new Vue({
           el: '#appName',        # (1)
           data: {                # (2)
                  name: 'Allen',
                  age: 18,
                  artical: {
                       title: 'Welcome',
                       content: 'Hello world!'
                   },
                   jobs: ['engineer', 'assistant', 'teacher']
            },
            methods: {            # (3)
                    functionName: function(){
                           alert(this.artical.title)
                    }
            },
            ready: function() {   # (4)
                   return this.functionName()
            },
            computed: {            # (5)
                    something: function(){
                             return otherthing
            }
      })
#(1)Vue所控制的区域
#(2)数据,可在appName范围内通过{{}}语法引用, data可以是任意类型
#(3)可选,Vue方法都放置在methods内,形式如上
#(4)可选,在页面加载完成时,调用ready函数。
#(5)可选,动态计算,其函数必须有返回值。可在需要的地方直接引用函数名{{something}}
</script>
> %注意:Vue版本1和2在appName的位置有所不同,Vue2不再支持绑定到body以及html
4.在HTML中使用{{ varName }} 方式引用data内的数据,如:
        <div>
            {{name}}
            {{article.title}}
            {{ jobs[0] }}
        </div>
5.指令v-model,进行数据绑定,在控制区域内使用,如:
<!-- 在input输入框内输入数据,会在p内实时显示 -->
        <div class="vModel">
            <input v-model="message" placeholder="edit me">
            <p>Message is: {{ message }}</p>
        </div>

%注意:单纯的这种方式,在Vue2版本下并未实现,Vue1版本支持。message必须在data内才有效。

6.指令v-for,对可迭代对象进行遍历,array object string number如:
        <div class="vFor">
            <span v-for='item in jobs'>{{item}}</span>
            <span v-for='(key, value) in artical'>{{key}}:{{value}}</span>
        </div>
> %注意:指令也是扩展了HTML属性,与Angular是一样的
7. 事件绑定使用v-on: eventHandler='doSomething', 如:
<!--  如果a有初始值,那么在点击时,a就会改变当前值 -->
        <button v-on:click='a+=1'>{{a}}</button>
    doSomething也可以是一个函数的调用,通常用法也是这样的
> %注意:如果想直接改变style样式的属性值,需要将style放置在appName的范围之内才能起作用
8.数据遍历的几种形式:

______一定要注意参数的顺序:

<!-- 遍历数组内的项 -->
<div v-for='item in array'>{{item}}</div>

<!-- 遍历数组内的项, 索引值index是第二个参数,Vue2.0 -->          
<div v-for='(item, index) in array'>{{index}} : {{item}}</div>

<!-- 遍历对象内的键和值 -->            
<div v-for='(key, value) in object'>{{key}} : {{value}}</div>
            
<!-- 遍历对象内的值 -->
<div v-for='value in object'>{{value}}</div>
            
<!-- 遍历对象内的值和键,已及第三个参数作为索引值 -->
<div v-for='(value, key, index) in object'>{{key}} : {{value}}:{{index}}</div>

<!-- 整数迭代     -->     
<div v-for='n in 10'>{{ n = n * 2 }}</div>
9.computed可用于制作过滤器:
#可用于过滤掉身高小于等于10的人,在相应出直接使用biggerThan即可。        
        computed: {
            biggerThan: function() {
                var men = function(height){
                    return height > 10
                }

                return this.array.filter(men)
            }
        }
        
10.Vue.js没有ajax方法,可用如下方法替代:
    # 原生JS的XHR
    # jQuery库的ajax方法
    # fetch方法(以后可能会替代AJAX)
    # 及其他

总结:

使用上述介绍,使用localStorage来保存数据,可以做一个TODOlist的单页应用了。还蛮有意思的。

相关文章

网友评论

      本文标题:Vue.js初探

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