Comments (5)
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.
@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.
"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.
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.
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)
- Use ||(or) in v-if (with nuxt js)
- Instantiate a copy of a component directly in that component HOT 1
- Call pre-defined javascript method on vue js event
- What about js-data.io?
- How to make vue bind to, or work with, html in properties
- Convert VueJS 1 to VueJS 2 HOT 2
- Third Party Libraries - Make non reactive?
- why v-switch not included in vuejs and what the alternative way HOT 1
- Use raw html inside v-bind
- iOS event bound using addEventListener is not triggering
- How to validate when blur a component.
- Google is not defined HOT 2
- vuejs can not find method or variable inside a callback function HOT 2
- Thousands of rows performance HOT 1
- how to pass Header + Body in POST api using Vue JS-axios HOT 4
- Conditional rendering and child component
- Fetch the value of element dynamically
- Vue breaks DataTables and Pace JS
- Bootstrap4 tag b-form-input has problem with @blur
- Invalid prop: Expected `Basic type`, got Nulll.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from discussion.