Giter VIP home page Giter VIP logo

Comments (5)

yyx990803 avatar yyx990803 commented on May 7, 2024

I'm not sure passing down an instance makes sense - you almost always want to pass down a subclass constructor.

Say you have

var Sub = Vue.extend({ /* options */ })

Once the subclass is created, its option object is available as Sub.options. So you can do

Sub.options.data.nextField = ...
Sub.options.methods.anotherMethod = function () {...}

from discussion.

gaydenko avatar gaydenko commented on May 7, 2024

@yyx990803 ,
"Sub.options.methods.anotherMethod = function () {...}, or Sub.options.data.nextField = ..." - I can not grok why we assign fields' values to class attributes rather to instance's one.

from discussion.

yyx990803 avatar yyx990803 commented on May 7, 2024

"create the subclass" means defining the subclass constructor with var Sub = Vue.extend(...). The constructor alone doesn't do anything, so you can modify its options across multiple steps. When you're done, you eventually create an instance with var sub = new Sub(...).

Personally for me I don't understand why you'd want to modify an instance's behavior when it's already created. The way Vue is meant to work is that you define everything you need before you create an instance.

Anyway, you can do vm.$data.$add('key', value) to add observable properties, but they will not be proxied on the vm object.

from discussion.

gaydenko avatar gaydenko commented on May 7, 2024

I don't mean adding data or methods after binding. I was saying about "working" [with instance] after binding, that is, say, change some fields, and so on.

I'll try to get a code experiment and to change the way my brain work :) Let's keep the discussion open during these upcoming days. OK?

from discussion.

gaydenko avatar gaydenko commented on May 7, 2024

OK, I guess current Vue state in the discussion context isn't a showstoper, and it keeps the Vue clean :) Closing.

from discussion.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.