Vue Advanced
Computed
β Vue instance κ° κ°μ§ option μ€ νλ
β computed κ°μ²΄μ μ μλ ν¨μλ₯Ό νμ΄μ§κ° μ΅μ΄λ‘ λ λλ§ λ λ νΈμΆνμ¬ κ³μ°
- κ³μ° κ²°κ³Όκ° λ³νκΈ° μ κΉμ§ ν¨μλ₯Ό μ¬νΈμΆ νλ κ²μ΄ μλ κ³μ°λ κ°μ λ°ν
method vs computed
<body>
<div id="app">
<h1>data_01 : {{ number1 }}</h1>
<h1>data_02 : {{ number2 }}</h1>
<hr />
<!-- method -->
<h1>add_method : {{ add_method() }}</h1>
<h1>add_method : {{ add_method() }}</h1>
<h1>add_method : {{ add_method() }}</h1>
<hr />
<!-- computed -->
<h1>add_computed : {{ add_computed }}</h1>
<h1>add_computed : {{ add_computed }}</h1>
<h1>add_computed : {{ add_computed }}</h1>
<hr />
<button v-on:click="dataChange">Change Data</button>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<script>
const app = new Vue({
el: "#app",
data: {
number1: 100,
number2: 100,
},
computed: {
add_computed: function () {
console.log("computed μ€νλ¨!");
return this.number1 + this.number2;
},
},
methods: {
add_method: function () {
console.log("method μ€νλ¨!");
return this.number1 + this.number2;
},
dataChange: function () {
this.number1 = 200;
this.number2 = 300;
},
},
});
</script>
</body>

β method
- νΈμΆ λ λλ§λ€ ν¨μλ₯Ό μ€ν
- κ°μ κ²°κ³Όμ¬λ λ§€λ² μλ‘κ² κ³μ°
β computed
- ν¨μμ μ’ μ λμμ λ³νμ λ°λΌ κ³μ° μ¬λΆκ° κ²°μ λ¨
- μ’ μ λμμ΄ λ³νμ§ μμΌλ©΄ νμ μ μ₯(μΊμ±) λ κ°μ λ°ν
watch
<button @click="number++">+</button>
<script>
const app = new Vue({
el: "#app",
data: {
number: 0,
},
watch: {
number: function (val, oldVal) {
console.log(val, oldVal);
},
},
});
</script>
β νΉμ λ°μ΄ν°μ λ³ν κ°μ§
- watch κ°μ²΄ μ μ
- κ°μν λμ data μ§μ
- dataκ° λ³ν μ μ€ν ν¨μ μ μ
β 첫 λ²μ§Έ μΈμλ λ³λ μ data
β λ λ²μ§Έ μΈμλ λ³λ ν data
filter
<body>
<div id="app">
<p>{{ numbers | getOddNums }}</p>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<script>
const app = new Vue({
el: "#app",
data: {
numbers: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
},
filters: {
getOddNums: function (nums) {
const oddNums = nums.filter((num) => {
return num % 2;
});
return oddNums;
},
},
});
</script>
</body
β μλ°μ€ν¬λ¦½νΈ ννμ λ§μ§λ§μ |
(νμ΄ν) ν¨κ» μΆκ°
β μ΄μ΄μ μ¬μ©(chaning) κ°λ₯
'β Personal_Study > Vue' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
SFC (Single File Component) (0) | 2022.11.11 |
---|---|
Vue_CLI (0) | 2022.11.09 |
Vue: Basic Syntax (0) | 2022.11.07 |
Vue Instance (0) | 2022.11.06 |
Vue Intro (0) | 2022.11.06 |
λκΈ