Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Work in progress] Separation of concerns using Vue #121

Closed
wants to merge 7 commits into from
Closed

Conversation

megoth
Copy link
Contributor

@megoth megoth commented Jun 20, 2019

Trying out new conventions with Vue.

Using TypeScript and Templates, supporting Sass for styling.

@megoth megoth requested a review from Vinnl June 20, 2019 09:28
@megoth
Copy link
Contributor Author

megoth commented Jun 20, 2019

This relates to #72

Copy link
Contributor

@Vinnl Vinnl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall this'd work fine, I think. I'm not too big a fan of the need for so many custom build tooling and Vue-specific attributes, but it's a big enough framework I think that that shouldn't be too much of a problem.

Do we have an idea of what the upgrade story to v3 is going to be like? One thing we should look out for is not only changes that break our code, but changes that break some of the tooling (bundles, editors, etc,), and that tooling not being able to keep up.

Speaking of which: how was WebStorm's support? I recall that VSCode has the vetur plugin which is supposedly pretty good, so it's interesting to see what that story is like for other editors. E.g. did you get syntax highlighting for Vue attributes in templates? Type completion?

markdown/App.vue Show resolved Hide resolved
markdown/App.vue Show resolved Hide resolved
}

save (): void {
this.$emit('save', this.raw)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I presume this is throwing an event, but I haven't found yet where it is caught - can we/TypeScript trace that?

(I've seen projects where it was unclear whether an event could be removed, because there was no good way to tell whether there were still listeners that were expecting it - or vice versa, that it was not clear whether a listener could be removed. Debugging was also hampered because stack traces ended at the event.)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is caught by the v-on:save="toggle" that you'll find in Markdown/App.vue.

This is how event handling are done in Vue. I think it's fairly easy to follow the trace, as it's always direct connection between parent-child, not grandparent-child (not 100% sure on this though).

@megoth
Copy link
Contributor Author

megoth commented Jun 22, 2019

We've decided to use React for this purpose going forward.

@megoth megoth closed this Jun 22, 2019
@megoth megoth deleted the soc-vue branch August 12, 2019 15:21
@megoth megoth restored the soc-vue branch August 12, 2019 15:21
@timea-solid timea-solid deleted the soc-vue branch February 28, 2022 17:07
@timea-solid timea-solid restored the soc-vue branch February 28, 2022 17:07
@timea-solid timea-solid deleted the soc-vue branch March 11, 2022 13:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants