前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vue 计算属性和相关工具

Vue 计算属性和相关工具

作者头像
RiemannHypothesis
发布2022-11-05 16:53:47
5450
发布2022-11-05 16:53:47
举报
文章被收录于专栏:Elixir

计算属性

  • 计算属性:是Vue实例的一个选项 computed:{}
  • 作用:在计算属性中去处理data里的数据
  • 使用场景:任何复杂逻辑,都应当使用计算属性
  • 本质: 计算属性的其实就是一个属性,用法和data中的属性一样,但计算属性的值是一个带有返回值的方法
代码语言:javascript
复制
<div id="app">
    <p>{{a}}</p>
    <p>{{b}}</p>
    <!-- <p>{{c=a+b}}</p> -->
​
    <!-- 现象: data中的属性c的值依赖于data中的另外两个属性a和b
问题:如果逻辑代码很简单,可以把表达式直接写在{{}}中
如果逻辑代码很复杂, 直接把表达式写在{{}}中不合适
此时, 就用到了计算属性
-->
    <!-- 计算属性的用法和data中的属性用法一样 -->
    <p>{{comC}}</p>
    <p>{{comC}}</p>
    <p>{{comC}}</p>
​
</div>
<script src="./vue.js"></script>
<script>
    const vm = new Vue({
        el: '#app',
        data: {
            a: 0,
            b: 0,
            c: 0
        },
        // 计算属性
        /*
             * 计算属性是Vue实例的一个选项
             * 计算属性的值是一个对象
             * 计算属性也是属性,只不过值是带有返回值的函数
             * 当data中的属性一发生变化, 会自动调用计算属性的方法
             */
        computed: {
            comC: function() {
                return this.a + this.b
            }
        }
    });
</script>

computed和methods

  • computed:
    • 一旦data中的数据发生变化,就会触发计算属性的方法
    • 会将data中属性的结果进行缓存,对比缓存中的结果是否发生变化
  • methods: 一调用就会触发, 和数据的变化与否无关
代码语言:javascript
复制
<div id="app">
    <p>{{fn()}}</p>
    <p>{{fn()}}</p>
    <p>{{fn()}}</p>
    <hr>
    <p>{{comFn}}</p>
    <p>{{comFn}}</p>
    <p>{{comFn}}</p>
​
</div>
<script src="./vue.js"></script>
<script>
    var vm = new Vue({
        el: '#app',
        data: {
            msg: 'abc'
        },
        methods: {
            fn() {
                // 返回一个值
                console.log('fn');
                return new Date();
            }
        },
        computed: {
            comFn() {
                // 计算属性,如果data中的数据变化,会重新执行,
                console.log('计算属性');
                return new Date();
            }
        }
    });
</script>

相关工具

JSON-server

说明: 可以快速把一个json文件托管成一个 web 服务器(提供接口)

特点: 基于Express,支持CORS和JSONP跨域请求,支持GET, POST, PUT和 DELETE 方法

使用:

代码语言:javascript
复制
// 1 安装json-server工具(只安装一次即可)
npm i -g json-server
// 2 启动
// 创建一个目录server,在该目录下创建一个json文件,db.json
// 在server目录下执行
json-server --watch db.json

验证:

在浏览器地址栏中输入 http://localhost:3000 发起请求、观察cmd中的变化、观察浏览器中返回的json数据

注意: 直接使用课程包中的db.json文件 也可以改变端口 --port

RESTful 接口

1. 说明
  • RESTful是一套接口设计规范
  • 用不同的请求类型发送同样一个请求标识 所对应的处理是不同的
  • 通过Http请求的不同类型(POST/DELETE/PUT/GET)来判断是什么业务操作(CRUD )
  • json-server应用了RESTful规范
2. HTTP方法规则举例

HTTP方法

数据处理

说明

POST

Create

新增一个没有id的资源

GET

Read

取得一个资源

PUT

Update

更新一个资源。或新增一个含 id 资源(如果 id 不存在)

DELETE

Delete

删除一个资源

通过标准HTTP方法对资源CRUD:

POST:创建单个资源 (资源数据在请求体中)

代码语言:javascript
复制
POST /brands  

GET:查询

代码语言:javascript
复制
GET /brands // 获取所有商品信息
GET /brands/1 // 获取id为1的商品信息

PUT:更新单个资源,客户端提供完整的更新后的资源

代码语言:javascript
复制
PUT /brands/1 // 更新id为1的商品信息

DELETE:删除

代码语言:javascript
复制
DELETE /brands/1  //删除id为1的商品
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 计算属性
    • computed和methods
    • 相关工具
      • JSON-server
        • RESTful 接口
          • 1. 说明
          • 2. HTTP方法规则举例
      相关产品与服务
      云服务器
      云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档