Vue.js 基础学习

今天我开始了Vue.js 的学习。

那么什么是Vue.js 呢?

Vue.js是一套开发Web页面的JavaScript脚本框架。听起来感觉很难,不过据说,Vue.js是Web-Javascript脚本框架中最容易上手的框架。所以我便选择了先来学习这个。

要学习Vue.js首先就要获取库文件了,在网上有很多地方可以找到,我是在bootcdn上找到的

接下来我们通过Vue输出一串Hello World !

首先引入vue.

    <script src="https://cdn.bootcss.com/vue/2.4.1/vue.js"></script>

然后在body中创建一个div 并设置id

<div id="myApp">
        {{ message }}
    </div>

在文档中一旦出现{{ }}这种两对花括号时,vue就开始解析了,会把它当成类似js的语句来解释

接下来是js代码

<script>
    var myApp = new Vue({
        el : '#myApp' ,
        data : {
            message : "hello world!"
        }
    })
</script>

解释一下,上面js代码的含义 

new 一个Vue 其中el 是element的意思,用来绑定对象,即生成的Vue对象会产生一个域,这个域作用在那个元素上的 ,此处就是作用在id为myApp的元素上的

data 底下所有的属性都是绑定在这个myApp下的。

vue中的内容是直接和内存中的绑定的,如果你在网页的审查元素中书写 myApp.message = "Hello Vue" 那么此时页面内容也会变成Hello Vue

这样我们就实现了Hello world 了。

1、vue绑定对象

var myApp = new Vue({
el : '#myApp' ,
data : {
message : "hello!",
name : null 
}
})

new 一个Vue对象 并绑定id为myApp的元素
data 中的属性可以在被绑定对象中通过{{ }}使用

2、由于vue中的内容是直接和内存中的绑定的,如果你在网页的审查元素中书写 myApp.message = "Hello Vue" 那么此时页面内容也会变成Hello Vue 所以vue 中有一个可以动态改变data 中属性值的属性

<input type="text" v-model = "name">

在input中加入 v-model="name" 能够动态的改变 name属性值 name属性值与input输入框中的内容相同

<span v-show = "name">你的名字是:{{ name }}</span>

给一个标签加一个v-show属性,当v-show所等于的那个属性值若为false ,则将其隐藏,反之则显示

<span v-if = "age">你的年龄是:{{ age }}</span>

给一个标签加一个v-if属性,作用与v-show相同,两个的区别在于,v-if如果那个属性值为false,那么这个元素就直接删除了,而不是简单的隐藏


3、vue的常用指令


v-for 指令

ar app = new Vue({
el : '#app',
        data : {
             foodList : ['葱','姜','蒜']
             }
             })

在app的data中写入一个foodList数组

<div id="app">
        <ul>
            <li v-for="food in foodList">{{ food }}</li>
        </ul>
    </div>

在li中添加v-for来渲染出这个foodList v-for = "food in foodList" 然后在{{}}中间加如这个food就可以将foodList中的各个元素用li标签渲染出来

为了更加方便直观数据结构更清晰,我们可以将foodList中的元素都换成对象

foodList : [
                {
                    name : '葱',
                    price : 10
                },
                {
                    name: '姜',
                    price : 5
                },
                {
                    name: '蒜',
                    price: 8
                }
            ]

这是还是通过上面的v-for渲染,他会把这写对象已字符串的形式渲染出来
那么我们可以将{{ food }}改为{{ food.name }} :¥{{food.price}}
我们在console中通过app.foodList.push({name : '椒',price : 3})可以新添加并显示出来,这说明,v-for也是动态的在监视着


v-bind指令 : 用来绑定数据和元素属性的

<div id="app">
<a v-bind:href="url">点我</a>
<div v-bind:class="myClass"></div>
</div>
<script src="Vue.js"></script>
<script>
var app = new Vue({
el : '#app',
data : {
url : "http://www.baidu.com",
myClass : "box"
}
})
</script>

我们可以通过上面的代码将a标签的href与data进行绑定这样通过改变url就可以动态的改变a标签的href属性值所有属性都可以进行绑定,如上面给div的class进行绑定,在console中通过改变myClass就可以改变这个div的样式了。
实用v-bind时可以只写 : 省略 v-bind , 这样更简洁方便

vue控制流指令
v-if=""
v-else=""
v-else-if=""

<div id="app">
        <div v-if="role === 'admin' || role === 'superAdmin'">
            管理员你好!
        </div>
        <div v-else-if="role === 'hr'">
            员工列表加载中
            .....
        </div>
        <div v-else>
            你没有访问权限!
        </div>
    </div>
var app = new Vue({
        el : '#app',
        data : {
            role : "hr",
        }
    })

上面这段代码是,判断data中role的值,对应显示符合条件的div

原文地址:https://www.cnblogs.com/huzhuo/p/7465040.html