百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>JS教程> Vue.js中computed和methods之间有什么不同?(附示例)
分享文章到:

Vue.js中computed和methods之间有什么不同?(附示例)

发布时间:09/01 来源:未知 浏览: 关键词:
本篇文章给大家带来的内容是关于Vue.js中computed和methods之间有什么不同?(附示例),有必然的参照 价值,有需要的伴侣可以参照 一下,但愿对你有所帮忙。

官方文档中已经有对其的说明了,在这里把我的懂得记载一下。

computed 的使用处景

HTML模板中的复杂逻辑表达式,为了防止逻辑过重致使不易保护,都应当把相关逻辑放入运算属性。

比方这种

<div id="root">
     <p>Reversed message: "{{ message.split('').reverse().join('') }}"</p>
</div>

在这个地方,模板不再是简便的声明式逻辑。这里是想要显示变量 message 的翻转字符串,而这种包括复杂逻辑处置的表达式,都应当使用运算属性。

computed 和 methods 的不同

1. computed是属性调取,而methods是函数调取

这意味着在HTML的插值里

computed定义的办法是以属性拜访的情势来调取,如 {{reversedMessageComputed}}

methods定义的办法,则要加上 () 来调取,如 {{reversedNameMethod()}} ,不然视图中会渲染出如下内容

function () { [native code] }

2. computed带有缓存功效,而methods不是

这里我援用一下官方文档的说明

运算属性是基于它们的依靠停止缓存的。只在相关依靠发生改动时它们才会从新求值。

<!-- html -->
<div id="root">
    <p>Reversed message: "{{ reversedNameMethod() }}"</p>
    <p>Reversed message: "{{ reversedMessageComputed }}"</p>
</div>
// javascript
var vm = new Vue({
    el: '#root',
        data: {
        name: 'Alex',
        message: 'Hello'
    },
    methods: {
      reversedNameMethod: function () {
        return this.name.split('').reverse().join('')
      }
    },
    computed: {
        // 运算属性的 getter
        reversedMessageComputed: function () {
        // `this` 指向 vm 实例
        return this.message.split('').reverse().join('')
        }
    }
})

上面的例子中,缓存意味着只要 message 还没有发生改动,屡次拜访 reversedMessageComputed 运算属性会马上返回此前的运算结果,而不必再次施行函数。而 reversedNameMethod() 办法,每次调取都会从新施行函数。

但同时需要留意,这也一样意味着下面的运算属性将不再更新,由于 Date.now() 不是响应式依靠:

// javascript
computed: {
    now: function () {
        return Date.now()
    }
}

now 的值将在Vue实例化时生成,并且不再改动。
比拟之下,每当触发从新渲染时,调取办法将总会再次施行函数。

computed其他说明

computed 和 methods 不成以重名

Vue会把 methods 和 data 里的东西,全部代理到Vue生成的对象中,这会将computed中重名属性覆盖

以上就是Vue.js中computed和methods之间有什么不同?(附示例)的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有151人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板