文章目录
- vue基本逻辑
- 什么是vue
- vue使用:
- vue插值
- Vue的计算属性
- Vue的计算属性的setter
- Vue的方法
vue基本逻辑
什么是vue
某种意义上来讲, Vue.js不是一个框架-----它只聚焦视图层,是一个构建数据驱动的web界面的库(当然, 按照目前的发展来看,vue有完善的生态圈, 早可以成为框架)。Vue.js通过简单的API提供高效的数据绑定和灵活的组件系统. Vue内置的额外方法库较少, 比如Router, ajax,表单验证等等一些额外的功能得由我们自行引入。
其特性:
轻量化: 生产环境的Vue可以做到才30多KB, 这个代码量非常之小, 是jQuery生产版本体量的几分之一
数据绑定: 非常方便的讲js控制的数据与页面内容进行绑定, 省去了我们大量的同步设置环节
指令: 我们可以通过内置指令v-* 和一些自定义的指令来实现我们要实现的业务功能
方便拓展: 虽说我们vue内置的方法不多,但是可以很方便的去引入一些其他的组件库
vue使用:
vue引入:
直接引入
<script src="js/vue.js"></script>
<div id="app">
{{name}} <br>
<input type="text" v-model="name"> <br>
{{user.age}} <br>
</div>
<script>
const vm = new Vue({
el: '#app',//绑定元素
data: {//绑定对象的数据
name: 'dream',
user: {
username: 'kevin',
age: 20
}
},
</script>
vue插值
文本插值是最基本的形式,使用双大括号{{}}(类似于Mustache,所以本文中称作Mustache标签)
例子中的标签{{msg}}将会被相应的数据对象msg属性的值替换掉,当msg的值改变时,文本中的值也会联动地发生变化。
Mustache标签也接受表达式形式的值,表达式可由JavaScript表达式构成。表达式是各种数值、变量、运算符的综合体。简单的表达式可以是常量或者变量名称。表达式的值是其运算结果:
js表达式
{{ msg/100 }} //在原始值上除以100
{{true?1:0}}//值为真,则渲染出1,否则渲染出0
{{ msg.split(“ , ”) }} //把值对应的字符串进行处理
无效示例
{{ var a = 1 }} // 这是一条语句, 不是表达式
{{ if (ok) { return message } }} //控制流程的代码也是没有用的
Vue的计算属性
模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的。在模板中放入太多的逻辑会让模板过重且难以维护
const vm = new Vue({
// 绑定 id=app的元素 可以在此元素里面使用vue提供的特性
el: '#app',
// data选项里面 就是 模板所需要的数据 而数据来源后端
data: {
msg: 'hello vue',
price: 99,
gender: 0,
password: 123456,
category: [],
},
// 计算属性
computed: {
handleGender(){
return this.gender ? '小哥哥' : '小姐姐'
},
handlePrice(){
return this.price + '¥'
},
handlePassword: {
set(v){
this.password = v +1
},
get(){
return this.password
// return md5(this.password)
}
}
},
Vue的计算属性的setter
Vue的方法
// 自定义方法
methods: {
async handleGetColumnList(){
const response = await fetch('https://h5sm/flutter/api/getColumnList')
const result = await response.json()
// console.log(result.data)
this.category = result.data
},
handlePriceData(name,value){
window.localStorage.setItem(name,value)
}
},
created(){
this.handleGetColumnList()
},
// 对数据过滤
filters: {
handleFilterPassword(v){
return md5(v)
}
}
更多推荐
vue基本逻辑
发布评论