vue-typescript icon indicating copy to clipboard operation
vue-typescript copied to clipboard

how to set cache to false for computed property

Open noteon opened this issue 8 years ago • 1 comments

e.g. computed: {

  example: {
     cache: false, //no cache 
     get: function () {
       return Date.now() + this.msg
    }
  }
}

in vue-typescript, how to get this feature by using decorator?

noteon avatar Aug 03 '16 07:08 noteon

Hmm, this was an oversight. For now if the property is only used in the template, you can define it in the decorator:

If the property is used in code ~~you will have to cast 'this' like so: (<any>this).a for now~~ just declare a variable of the same name and type (dont assign it a value, just declare it).

@VueComponent({
    computed: {
        a: {
            cache:false,
            get:function(){return 'hello'}
        }
    }
})
export class Component{

   a:string;

    ready(){
        console.log(this.a) //<will get the computed function above
    }
}

Ill think of a solution and reply here when i have one, this will probably require the addition of a new decorator. Putting @Copmuted({}) above the getter or setter most probably

itsfrank avatar Aug 03 '16 08:08 itsfrank