vue - 计算属性、表单输入绑定

vue

计算属性

computed:{}

<!DOCTYPE html>

<html>

<head>

<title></title>

</head>

<body>

<div id="computed">

<div>

<!-- dlrow olleh -->

<!-- {{msg.split('').reverse().join('')}} -->

{{reverseStr}}

</div>

<button @click='clickHanlder'>修改</button>

</div>

<script type="text/javascript" src="./vue.js"></script>

<script type="text/javascript">

var com = new Vue({

el:"#computed",

data:{

msg:"hello world"

},

methods:{

clickHanlder(){

console.log(this.reverseStr); // get

this.reverseStr = "Hello Luffy" // set

}

},

computed:{

// 默认只有 getter 方法

// 计算数据属性 watch 监听

// reverseStr(){

// return this.msg.split('').reverse().join('')

// }

reverseStr:{

set:function(newValue){

this.msg = newValue;

},

get:function(){

return this.msg.split('').reverse().join('')

}

}

}

})

</script>

</body>

</html>

计算属性的应用 v-model

<!DOCTYPE html>

<html>

<head>

<title></title>

</head>

<body>

<!-- preevent 可以阻止发送 form 表单,可以 ajax-->

<form id='computed' @submit.prevent>

<!-- <input type="text" v-model='msg'> -->

<input type="text" v-model.lazy='msg'>

<input type="number" v-model.number='msg'>

<h3>{{msg}}</h3>

<input type="submit" name="" value="提交">

<!-- v-model 实现原理- -->

<!-- <input type="text" v-bind:value='getValue' @input='msgChange'> -->

<!-- <h3>{{getValue}}</h3> -->

<!-- 官网 https://cn.vuejs.org/v2/guide/forms.html -->

</form>

<script type="text/javascript" src="./vue.js"></script>

<script type="text/javascript">

var com = new Vue({

el:"#computed",

data:{

msg:"123"

},

methods:{

msgChange(e){

console.log(e.target.value)

this.getValue = e.target.value

}

// $.ajax() xmlhttpRequest axios 能做ajax技术

},

computed:{

getValue:{

set:function(newValue){

this.msg = newValue

},

get:function(){

return this.msg

}

}

}

})

</script>

</body>

</html>

介绍

vue的核心:声明式的指令和数据的双向绑定。

那么声明式的指令,已经给大家介绍完了。接下来我们来研究一下什么是数据的双向绑定?

另外,大家一定要知道vue的设计模式:MVVM

M是Model的简写,V是View的简写,VM就是ViewModel。

通过官网的介绍,我们知道v-mode指令是v-bind:vlaue 和v-on:input的结合体。

----------------------------------------------------------

v-model 指令在表单 <input> 及 <textarea> 元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素。尽管有些神奇,但 v-model 本质上不过是语法糖。它负责监听用户的输入事件以更新数据,并对一些极端场景进行一些特殊处理。

v-model只适用在表单控件中

比如:表单文本、多行文本、复选框、单选按钮、多选按钮、选择框。内容太多,就不给大家一一阐述了。大家一定要去阅读vue的官网文档

https://cn.vuejs.org/v2/guide/forms.html 

ps:官网上的vue的文档非常好,喜欢vue的同学没事多来看看!

笔记

模块化

一个js就是一个模块

export default xxx

import xxx form ooo

-----------------

前端工具

webpack:打包机 html css js font 打包,之后交给服务器

html 文件太大;

webpack 有一些loader 加载器 插件

插件: 一个功能,一个js文件

组件: bootstrap,包含js html css ; 组件包含插件

webpack

可以对html压缩,

css压缩

js压缩 混淆;

减小服务器的压力,安全

图片压缩

前期:

grunt

gulp

-----------------

node.js 小型的服务器

node.js + webpack

(热重载)

npm run dev

实时监听 只要保存 就自动刷新了

-----------------

nodejs 服务器语言

npm init --yes 初始化我们的项目

自动的生成一个package.json文件

npm install jquery --save

npm install webpack --save-dev (开发依赖)

----------------

如果你拿到一个新的项目

cd 当前目录

// npm rebuild 重建一下 在 run install 出错的情况下;

npm install

npm run dev

npm start

npm run build

淘宝镜像

npm install -g cnpm --registry=https://registry.npm.taobao.org

-----------------------

vue 框架 单页面

网易云页面

掘金

尽可能减少请求;减少服务器的压力;前端做性能 做优化,主要都是为了减少服务器的压力。

vue主要用来做单页面的,主要是做移动端的!做移动端优先,

一级路由 二级路由

/books/1

/publish/

-----------------------------

作业:

1. 上一页

2. 列表选中当前一项变色; 选项卡www.sina.com.cn

3. 代码敲一遍 知道每个指令干嘛的,熟练computed 计算属性的用法

4. v-model原理实现,

5. 预习;表单控件;

以上是 vue - 计算属性、表单输入绑定 的全部内容, 来源链接: utcz.com/z/374808.html

回到顶部