យើង​បាន​ដឹង​រួច​មក​ហើយ​ថា ប្រតិភាព (reactivity) គឺ​ជា​ភាព​ដែល​ធ្វើ​អោយ browser បង្ហាញ​តំលៃ​ថ្មី​នៃ​អថេរ​ទាំងឡាយ នៅ​ពេល​ដែល​តំលៃ​នៃ​អថេរ​ទាំងនោះ​​មាន​ការផ្លាស់ប្តូរ​។ នៅ​ក្នុង​បរិបទ​នេះ នៅ​ក្នុង​កម្មវិធី SvelteKit សញ្ញា​ស្មើ (=) មាន​តួនាទី​សំខាន់​ណាស់​ក្នុង​ការ​ផ្តល់​តំលៃ​អោយ​ទៅ​អថេរ​ទាំងឡាយ​និង​ធ្វើ​អោយ​​​អថេរ​ទាំងនោះ​មាន​លក្ខណៈ​ប្រតិភាព​។ បាន​ន័យ​ថា​ គ្រប់​អថេរ​ដែល​បាន​ទទួល​តំលៃ​ណា​មួយ​ដោយ​សារ​សញ្ញា​ស្មើ នៅ​ពេលក្រោយ​មក​ទៀត នៅ​ពេល​ដែល​តំលៃ​ទាំងនោះ​មាន​ការផ្លាស់​ប្តូរ browser នឹងជំនួស​តំលៃ​ចាស់​ដោយ​តំលៃ​ថ្មី​នេះ​នៅ​លើ​ browser ។

 

<script>
    let count = 0;

    function increment() {
        count += 1;
    }
</script>

<button on:click={increment}>
    ចុច {count} ដង
</button>

 

លក្ខណៈ​ប្រតិភាព​មាន​តែ​ចំពោះ​អថេរ​ទាំងឡាយ​ណា​ដែល​ទទួល​តំលៃ​ណា​មួយ​តាម​រយៈ​សញ្ញា​ស្មើ​ដោយ​ផ្ទាល់​។ ចំពោះ​អថេរ​ដែល​តំលៃ​របស់​វា​យោង​ទៅ​លើ​​តំលៃ​របស់​អថេរ​មួយ​ផ្សេង​ទៀត អថេរ​ខាង​ដើម​នឹង​គ្មាន​លក្ខណៈ​ប្រតិភាព​នេះ​ទេ​។

 

<script>
    let count = 0
    let double = count * 2

    function increment() {
        count += 1;
    }
</script>

<button on:click={increment}>
    ចុច {count} ដង
</button>

<p>​​​​​​​​​​តំលៃរបស់ double {double}</p>

 

ដើម្បី​ធ្វើ​អោយ​អថេរ​មួយ ​ដែល​តំលៃ​របស់​វា​យោង​ទៅ​លើ​តំលៃ​របស់​អថេរ​មួយ​ផ្សេង​ទៀត អាចមាន​លក្ខណៈ​ប្រតិភាព​បាន យើង​ត្រូវ​ប្រើ​សញ្ញា $: នៅ​ខាង​មុខ​អថេរ​នោះ នៅ​ពេល​ផ្តល់​តំលៃ​អោយ​វា​។

 

<script>
    let count = 0
    $: double = count * 2

    function increment() {
        count += 1;
    }
</script>

<button on:click={increment}>
    ចុច {count} ដង
</button>

<p>​​​​​​​​​​តំលៃរបស់ double {double}</p>