vue.js计算属性和methods的对比
2023-09-27 14:22:47 时间
代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="xiaonaihu" />
<meta name="generator" content="HBuilder X" />
<title>计算属性和methods的对比</title>
<script src="../../lib/vue.min.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div id="app">
<!-- 直接拼接 语法过于繁琐不建议 -->
<h2>{{firstname+' '+lastname}}</h2>
<h2>{{firstname}} {{lastname}}</h2>
<!-- 通过定义methods方法 -->
<h2>{{getFullName()}}</h2>
<h2>{{getFullName()}}</h2>
<h2>{{getFullName()}}</h2>
<h2>{{getFullName()}}</h2>
<h2>{{getFullName()}}</h2>
<!-- 通过computed计算属性 -->
<h2>{{FullName}}</h2>
<h2>{{FullName}}</h2>
<h2>{{FullName}}</h2>
<h2>{{FullName}}</h2>
<h2>{{FullName}}</h2>
<!-- 这里的FullName不需要加(),因为调用的是一个属性中的get方法 -->
</div>
<script type="text/javascript">
var app = new Vue({
el: "#app",
data:{
firstname:"pangtou",
lastname:"xiaonaihu"
},
// computed:计算机属性()
computed:{
// FullName:function() {
// return this.firstname+' '+this.lastname;
// }
FullName:{
set:function(newValue) {
//一般不会设置set方法,是一个只读属性
//一般删除Set方法只保留get方法
// console.log("......",newValue);
const names = newValue.split(' ');
this.firstname = names[0];
this.lastname = names[1];
},
get:function() {
return this.firstname+' '+this.lastname;
}
}
},
methods:{
getFullName:function() {
return this.firstname+' '+this.lastname;
}
}
});
</script>
</body>
</html>
自己理解
使用methods方法时,多次调用的时候,每一次都会调用一次该方法,效率低
使用computed计算属性,当多次使用时,该属性只会被调用一次,如果后面的跟前一次一样,直接返回而不会进行重新调用。
相关文章
- vue环境下安装npm,启动npm 修改js,css样式
- vue.js 计算属性与$watch的区别?
- vue.js--基础 v-bind绑定属性使用
- vue - webpack.dev.conf.js for merge
- vue - check-versions.js for shell
- 【Vue/js】Js中执行变量中的命令语句,也就是所谓的宏替换(很实用的例子)
- 【Vue/js】通过localStorage浏览器实现变量和对象的本地缓存(图文+完整源代码)
- 05Vue - Vue.js 入门(与自定义元素的关系)
- 微信小程序 - 父组件调用子组件的函数方法(像 Vue.js 中 ref 属性一样,直接 this.$refs.xx 获取子组件数据和方法)详细教程示例代码
- Vue - 超详细网站接入腾讯地图的完整流程,提供地图显示、IP 属地定位、地理位置名称、获取经纬度等超多功能示例(可一键复制并运行的功能源代码,详细的注释及常见问题汇总)Nuxt.js 也能用!
- Vue - watch 三种不同写法及场景用法(immediate、handler / deep)
- vue.js+node.js前端实战开发(一)————cmd命令搭建项目
- vue 手动挂载$mount() 获取 $el
- Vue.js高仿饿了么外卖App学习记录
- (18)打鸡儿教你Vue.js
- (11)打鸡儿教你Vue.js
- Web前端-Vue.js必备框架(四)
- Web前端-Vue.js必备框架(二)
- 【前端芝士树】Vue.js面试题整理 / 知识点梳理
- vue 随机号码快速跳动
- 【Ant Design Vue 】之Menu菜单
- vue项目中 如何让外部引入的js模块 的this值 指向vue实例
- [js高手之路] vue系列教程 - 绑定class与行间样式style(6)
- Web 前端 之 Vue 浏览器调试工具 Vue.js devtools 安装(三种方法)的简单整理
- vue使用axios发送post请求时的坑及解决原理
- 剖析 Vue.js 内部运行机制 (1)
- Vue.js 监听属性
- vue 基于eleui的自定义穿梭框Transfer
- electron-vue报错 ReferenceError: process is not defined