Mon objectif est de changer d'emploi d'inexpérimenté à ingénieur. J'ai décidé d'étudier le développement SPA en utilisant l'API Rails et vue.js pour créer un bon portefeuille.
Le niveau actuel de connaissances est le développement d'applications simples à l'aide de Ruby on rails, la gestion des versions à l'aide de git et le déploiement à l'aide d'heroku. J'espère que cela sera utile à ceux qui envisagent d'essayer vue.js dans leur propre mémorandum et au même niveau.
Comprendre les bases de vue et la grammaire de base de vue
【référence】 Cet article concerne le cours d'udemy "Pack complet Super Vue.js 2 - Plus besoin d'acheter d'autres matériaux! (Y compris Vue Router et Vuex) »est le résultat de ce que vous avez appris. Par conséquent, le code, etc. est basé sur le contenu du cours.
【Article associé】 [Développement SPA avec Rails x Vue] Apprenez les bases de Vue.js (Présentation de vue.js / syntaxe du template) [Développement SPA avec Rails x Vue] Apprenez les bases de Vue.js (composant d'instance vue VueCLI) [Développement SPA avec Rails x Vue] Apprenez les bases de Vue.js (transitions de directives personnalisées, etc.) [Développement SPA avec Rails x Vue] En savoir plus sur Vue Router / Vuex
Allons vite!
javascript est implémenté dans la plupart des applications Web et est facile à écrire De nos jours, les trois principaux cadres, vue, réaction et angulaire, attirent l'attention. Si vous regardez les tendances, vous pouvez voir que jQuery est en déclin, mais les trois principaux frameworks sont à la hausse.
【référence】 Voir dans la tendance laquelle de Vue.js vs React vs Angular choisir Qu'est-ce que jQuery? Pourquoi ne pas l'utiliser (ou ne pas l'utiliser)?
Cette fois, je voudrais sélectionner vue, qui a un faible coût d'apprentissage et peut être facilement introduit même dans le développement à petite échelle.
En plus de react, vue.js est adopté par de nombreuses entreprises au Japon. Il y a quatre raisons principales pour lesquelles vue.js est adopté par de nombreuses entreprises.
Par exemple, dans rails 6.0, vous pouvez utiliser vue.js en installant webpacker pour vue.js et en n'écrivant qu'une seule ligne. En d'autres termes, il est possible d'utiliser partiellement vue.js pour les applications de rails, et vue.js peut être principalement développé pour le développement d'API.
La fonctionnalité de vue.js est que même les débutants peuvent facilement l'apprendre tant qu'ils comprennent HTML, CSS et javascript. De plus, la formule vue.js prend en charge le japonais, donc si vous avez un problème, vous pouvez généralement le résoudre en regardant la formule.
vue.js facilite l'assemblage des applications en unités appelées composants. Les composants sont comme des pièces qui composent l'interface utilisateur, et en les rendant communs, ils peuvent être utilisés encore et encore.
Le framework javascript devient standard pour utiliser des technologies telles que le DOM virtuel et Typescript. Étant donné que vue.js prend également en charge le DOM virtuel et le typographie, une implémentation plus rapide et plus extensible est possible.
【référence】
(vue.js official) Introduction -Qu'est-ce que vue.js?
(vue.js official) Comparaison avec d'autres frameworks
SPA est une abréviation de «Application à une seule page» et, comme son nom l'indique, c'est une application qui change le contenu sur une seule page. Des exemples spécifiques incluent slack et google map. Les deux vous permettent d'obtenir de nouvelles informations sans transition de pages (en laissant une seule page). SPA est un mécanisme qui a attiré l'attention ces dernières années car le temps de transition des pages est court et l'UX est augmenté.
Vous pouvez facilement créer un SPA en utilisant vue.js.
【référence】 Principes de base du SPA (application à page unique)
Vérifions maintenant la grammaire de base de vue.js.
Il existe trois types d'installation vue.js: "CDN", "npm" et "vuecli". "CDN" est la méthode décrite dans la balise body de html, "npm" est la méthode d'utilisation du gestionnaire de packages de node.js et "vuecli" est la méthode d'utilisation de la commande vue dans le terminal. Cette fois, j'utiliserai "CDN". Créez le fichier index.html de manière appropriée et décrivez-le comme suit.
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<div id="app">
</div>
<script>
new Vue({
el: "#app",
})
</script>
</body>
</html>
Ce qui précède est la préparation du fichier pour l'utilisation de vue.js. J'expliquerai la grammaire détaillée de la suite, mais j'omettrai tout dans la balise head, la balise body et la partie appel CDN.
index.html
<div id="app">
<p>{{message}}</p>
</div>
<script>
new Vue({
el: "#app",
data: {
message: "HelloWorld",
}
})
</script>
index.html
<div id="app">
<p>{{greeting()}}</p>
</div>
<script>
new Vue({
el: "#app",
data: {
message: "HelloWorld",
},
methods: {
greeting: function(){
return this.message;
}
}
})
</script>
■v-bind
index.html
<div id="app">
<a v-bind:href="url"> qiita <a>
</div>
<script>
new Vue({
el: "#app",
data: {
url: "https://qiita.com/"
}
})
</script>
--Les choses qui commencent par "v-" sont appelées directives et font référence aux attributs de vue.js qui peuvent être utilisés dans le modèle.
■v-on
index.html
<div id="app">
<p>num<p>
<button v-on:click="countUp"> COUNT UP </button>
</div>
<script>
new Vue({
el: "#app",
data: {
num: 0
},
methods: {
countUp: function() {
this.num += 1
}
}
})
</script>
index.html
<div id="app">
<p>num<p>
<button v-on:click="countUp(4)"> COUNT UP </button>
<p v-on:mousemove="change($event, 3)"> Change
<span v-on:mousemove.stop> No Change </span> <p>
<P> {{x}}: {{y}}
</div>
<script>
new Vue({
el: "#app",
data: {
num: 0
},
methods: {
countUp: function(times) {
this.num += 1 * times
},
change: function(event, square) {
this.x = event.clientX * square
this.y = event.clientY * square
}
})
</script>
--Il est également possible de prendre un argument comme un javascript normal.
■v-model
index.html
<div id="app">
<input type="text" v-model="message">
<p>{{message}} <p>
</div>
<script>
new Vue({
el: "#app",
data: {
message: "hello!"
}
})
</script>
■computed
index.html
<div id="app">
<button @click="count += 1"> COUNT UP </button>
<p>{{lessThanThree}} <p>
</div>
<script>
new Vue({
el: "#app",
data: {
count: 0
},
computed: {
lessThanThree: function() {
return this.count >= 3 ? "3 ou plus" : "Moins de 3"
}
})
</script>
■watcher
index.html
<div id="app">
<button @click="count += 1"> COUNT UP </button>
<p>{{lessThanThree}} <p>
</div>
<script>
new Vue({
el: "#app",
data: {
count: 0
},
computed: {
lessThanThree: function() {
return this.count >= 3 ? "3 ou plus" : "Moins de 3"
},
watch: {
count: function() {
var vm = this;
setTimeout(function(){
vm.count = 0
}, 3000)
}
}
})
</script>
―― «Watch» est un processus asynchrone.
index.html
<div id="app">
<p :class="classObject"> Hello </p>
<button @click="Active = !Active"> Change </button>
<h1 :style="styleObject"> Hello </h1>
</div>
<script>
new Vue({
el: "#app",
data: {
styleobject: {
color: 'red',
'background-color': 'blue'
},
Active: true
},
computed: {
classObject: function(){
return{
red: this.Active,
'bg-blue': !this.Active}
}
}
})
</script>
■v-if
index.html
<div id="app">
<template v-if="ok">
<p>Hello</p>
<p>Goodbye</p>
</template>
<template v-else-if="maybe">
<p>good morning</p>
<p>good night</p>
</template>
<p v-else="ok"> sorry </p>
</div>
<script>
new Vue({
el: "#app",
data: {
ok: true,
maybe: true
}
})
</script>
―― «Template» a presque le même rôle que div, mais la fonctionnalité est que «template» n'est pas affiché lorsque vous l'affichez réellement sur un navigateur.
■v-for
index.html
<div id="app">
<ul>
<div v-for="fruit in fruits" :key="fruit">
<p>{{fruit}}</p>
<hr>
</div>
</ul>
</div>
<script>
new Vue({
el: "#app",
data: {
fruits: ['pomme', 'Les pêches', 'Grain de raisin']
}
})
</script>
【udemy】 "Pack complet Super Vue.js 2 - Plus besoin d'acheter d'autres matériaux! (Y compris Vue Router et Vuex) » → Recommandé! Cet article est également basé sur ce que j'ai appris dans ce cours. Il explique soigneusement les bases, et comme il touche au développement SPA, cela seul peut couvrir les bases de la vue.
"Vue JS Primer Definitive Edition! Développement Web sans jQuery --- Apprendre systématiquement de l'introduction au développement d'applications avec des vidéos » → J'ai pensé qu'il serait bon d'expliquer la grammaire en détail.
Recommended Posts