# Alpine.js Documentation - Magics Magics are special properties that are available inside Alpine expressions. They provide convenient access to common functionality. ## [$watch](/magics/watch) You can "watch" a component property using the `$watch` magic method. For example: ```
n n
``` In the above example, when the button is pressed and `open` is changed, the provided callback will fire and `console.log` the new value: You can watch deeply nested properties using "dot" notation ```
n n
``` When the ` n ``` ### [Deep watching](#deep-watching) `$watch` automatically watches from changes at any level but you should keep in mind that, when a change is detected, the watcher will return the value of the observed property, not the value of the subproperty that has changed. ```
n n
``` When the ` n ``` Code highlighting provided by [Torchlight](https://torchlight.dev/)