张家口建站优化,建筑模板种类,网站开发怎么样?,免费手机网页网站vue的computed中的getter和setter 定义getter写法setter写法 定义 computed 中可以分成 getter#xff08;读取#xff09; 和 setter#xff08;设值#xff09;#xff0c;一般情况下是没有 setter 的#xff0c;computed 预设只有 getter#xff0c;也就是只能读取读取 和 setter设值一般情况下是没有 setter 的computed 预设只有 getter也就是只能读取不能改变设值。 getter写法 默认只有 getter的写法 div iddemo{{ fullName }}/divvar vm new Vue({el: #demo,data: {firstName: Foo,lastName: Bar},computed: {fullName: function () {return this.firstName this.lastName}}})//其实fullName的完整写法应该是如下fullName: {get(){return this.firstName this.lastName}}注意不是说我们更改了getter里使用的变量就会触发computed的更新前提是computed里的值必须要在模板里使用才行。如果将{{fullName}}去掉get方法是不会触发的。 setter写法 setter的写法可以设值 templatediv iddemop {{ fullName }} /pinput typetext v-modelfullNameinput typetext v-modelfirstNameinput typetext v-modellastName/div/templatevar vm new Vue({el: #demo,data: {firstName: zhang,lastName: san},computed: {fullName: {//getter 方法get(){console.log(computed getter...)return this.firstName this.lastName}//setter 方法set(newValue){console.log(computed setter...)var names newValue.split( )this.firstName names[0]this.lastName names[names.length - 1]return this.firstName this.lastName}}}})在这里我们修改fullName的值就会触发setter同时也会触发getter。 注意并不是触发了setter也就会触发getter他们两个是相互独立的。我们这里修改了fullName会触发getter是因为setter函数里有改变firstName 和 lastName 值的代码这两个值改变了fullName依赖于这两个值所以便会自动改变。 到这里也就结束了希望对您有所帮助。