new Vue({});
new Vue({
el: '#app',
});
new Vue({
el: '#app',
});
<body>
<div id="app"></div>
</body>
new Vue({
el: '#app',
});
data: {}
methods: {
methodName() {}
}
new Vue({
el: '#app',
data: {
message: 'Greetings!',
},
});
<div id="app">
<div class="card">
<header class="card-header card-header-title">
<span>Original:</span> {{ message }}
</header>
<header class="card-header card-header-title">
<span>Reversed:</span> {{ message.split('').reverse().join('') }}
</header>
</div>
</div>
new Vue({
el: '#app',
data: {
message: 'Greetings!',
},
methods: {
reverseString(string) {
return string.split('').reverse().join('');
},
}
});
<div id="app">
<div class="card">
<header class="card-header card-header-title">
<span>Original:</span> {{ message }}
</header>
<header class="card-header card-header-title">
<span>Reversed:</span> {{ reverseString(message) }}
</header>
</div>
</div>
computed: {
computedName() {}
}
new Vue({
el: '#app',
data: {
message: 'Greetings!',
},
computed: {
reverseMessage() {
return this.message.split('').reverse().join('');
},
}
});
<div id="app">
<div class="card">
<header class="card-header card-header-title">
<span>Original:</span> {{ message }}
</header>
<header class="card-header card-header-title">
<span>Reversed:</span> {{ reverseMessage }}
</header>
</div>
</div>
new Vue({
// ....
computed: {
reverseMessage() {
return this.message.split('').reverse().join('');
},
}
});
new Vue({
// ....
methods: {
reverseString(string) {
return string.split('').reverse().join('');
},
}
});
computed: {
reverseMessage() {
return this.message.split('').reverse().join('');
}
}
computed: {
reverseMessage() {
return this.message.split('').reverse().join('');
}
}
{{ reverseMessage }}
{{ reverseMessage }}
{{ reverseMessage }}
{{ reverseMessage }}
new Vue({
el: '#app',
data: {
message: 'Greetings!',
},
computed: {
reverseMessage() {
return this.message.split('').reverse().join('');
},
}
});
<div id="app">
<div class="card">
<header class="card-header card-header-title">
<span>Original:</span> {{ message }}
</header>
</div>
<div class="card">
<header class="card-header card-header-title">
<span>Reversed:</span> {{ reverseMessage }}
</header>
</div>
<div class="card">
<header class="card-header card-header-title">
<span>Reversed:</span> {{ reverseMessage }}
</header>
</div>
<div class="card">
<header class="card-header card-header-title">
<span>Reversed:</span> {{ reverseMessage }}
</header>
</div>
</div>
new Vue({ ... data: { submissions }, computed: { sortedSubmissions() { const initialSubmissions = this.submissions; return initialSubmissions.sort((a, b) => { return b.votes - a.votes; }) } } });
new Vue({ ... data: { submissions }, computed: { sortedSubmissions() { const initialSubmissions = this.submissions; return initialSubmissions.sort((a, b) => { return b.votes - a.votes; }) } } });
watch: {
dataProperty(oldValue, newValue) {}
}
new Vue({
el: '#app',
data: {
input: '',
counter: 0,
},
watch: {
input() {
this.counter++;
},
}
});
<div id="app">
<div class="field">
<label class="label">Input</label>
<input v-model="input"
class="input"
type="text"
placeholder="Type something!">
</div>
<div class="card">
<header class="card-header card-header-title">
<span>Changes made:</span> {{ counter }}
</header>
</div>
</div>
beforeCreate()
created()
beforeMount()
mounted()
beforeUpdate()
updated()
beforeDestroy()
destroyed()
beforeCreate()
created()
beforeMount()
mounted()
beforeUpdate()
updated()
beforeDestroy()
destroyed()
new Vue({
el: '#app',
data: {
name: "Loading...",
email: "Loading...",
company: {
name: "Loading...",
catchPhrase: "Loading...",
}
},
created() {
axios.get('https://jsonplaceholder.typicode.com/users')
.then((response) => {
const data = response.data;
const randomUser = response.data[Math.floor(Math.random() * data.length)];
this.name = randomUser.name;
this.email = randomUser.email;
this.company.name = randomUser.company.name;
this.company.catchPhrase = randomUser.company.catchPhrase;
});
},
});
<div id="app">
<div class="card">
<header class="card-header">
<p class="card-header-title">
{{name}}
</p>
</header>
<div class="card-content">
<div class="content">
<p>{{company.name}}</p>
<p>"{{company.catchPhrase}}"</p>
</div>
</div>
<footer class="card-footer">
<a href="#" class="card-footer-item">{{email}}</a>
</footer>
</div>
</div>
new Vue({
el: '#app',
data: {
name: "Loading...",
email: "Loading...",
company: {
name: "Loading...",
catchPhrase: "Loading...",
}
},
created() {
// ...
},
mounted() {
console.log(this.$el);
}
});
vm.$el
Instance is being mounted
Instance is being updated
beforeCreate()/created()
beforeMount()/mounted()
beforeUpdate()/updated()
beforeDestroyed()/destroyed()