Vue.js is a quiet, very popular JavaScript framework with an impressive set of features, a solid community, and MIT license. Don’t tell anybody, but I think I might even like it better than React. With all this, Vue deserves its own set of helpers for R
, just like d3r
and reactR
.
vueR
provides these helpers with its dependency function html_dependency_vue()
and htmlwidget
helper vue()
.
install.packages("vueR")
or for the latest if different from CRAN
remotes::install_github("vue-r/vueR")
We’ll start with a recreation of the simple “Hello World” example from the Vue.js documentation. This is the hard way.
library(htmltools)
library(vueR)
browsable(
tagList(
html_dependency_vue(), # local and minimized by default
tags$div(id="app","{{message}}"),
tags$script(
"
var app = new Vue({
el: '#app',
data: {
message: 'Hello Vue!'
}
});
"
)
)
)
vueR
gives us an htmlwidget
that can ease the code burden from above.
library(vueR)
library(htmltools)
# recreate Hello Vue! example
browsable(
tagList(
tags$div(id="app", "{{message}}"),
vue(
list(
el = "#app",
data = list(
message = "Hello Vue!"
)
)
)
)
)
Also, please check out additional examples and experiments.
vueR
is now part of a Github organization, and hopefully will be backed with interest by more than one (me) developer. For most vueR
users, this section will not apply, but I would like to document the build/update step for new versions of Vue
. In getvue.R
, I created some functions for rapid download and deployment of new Vue
versions. Running all of the code in getvue.R
should update local minified and development versions of Vue and also update the version references in vueR
.
I would love for you to participate and help with vueR
, but please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.