Watch is triggered before other watches are registered
Vue version
latest
Link to minimal reproduction
https://play.vuejs.org/#eNrtV9tu00AQ/ZXBLy1SEquFp5BGolUfQAKqtvCCedjY08StvWt217koyiN/wdfxJcyu70katZCUolaq6r3M5czOmcnu3HmbJJ1xik7X6SlfhonuezyMEyE1nAj6cuT6AK6kiGGv41ZLRmlvVfRwVfSwKfohnIb8s0JZSpYrtwie43BVlhZzcY/j1CoEeMXSSMPc4wCcxdiFPQpvr2XmfgFHdWFeC61Vw96qfNaGxv2iBa4Lv37+ADUSaRTAAIFxEINr9HULuNBmyqRkM+MsYJrtv8yAAEjUqeTFDCBWQ0J2JkUCYxbZGMzywnzoH/313DIXNNEYJxHTSDOA3ot2G3qjg/58bgzBYtFzaQbtdrZdy0Q3IRdfWHTkOSTpOeD2M3UTR6oQzpjyWXTCaCgk3OCADdq+mRXGBpJ0mmYPtmq2IsNOrJrU/aXhnls7fqflaOULfhUOO9dKcKoam1XPMfQKI5SfEh0KrjyHWJal1XNYFInJe7umZYqWjlZnhP7NmvVrNTVrnnMmkYIYo+eUe5rJIeps+/TiI05pXG7GIkgjkt6weY5KRKnBmIkdpzwg2DU5i/adLcGQDy/V6VQjV0VQBqjlqZX3HCpBQ43bQq/gvuq8LvhNp9jsI43mc3sxezW1HLDJrSnozF+e6XIOoGcJKV5oSaHkEZp6/J6GEoMqmqL4rMjm4qWKJb1RqDq5t9KsQmJGkPm35hpWJ0z7oxJZKVs5IrDGKtmHIwqV9kCMUU5kqCkBMJhVSpkxz8md5AhWow/jGIOQqNsgGMCI2aTvc5yQQoo1DDkKQ+dUowX4pthbDSpGPRJBlYC62lJcFfijxvHl1u/Y/IJwbAc0VAnj/aUjAabhUiTdbBeUnkVIde85pluakzXd0irmH2vUzawuV3rzB+z+HD38zzn6YHzK7Wy1Jh43R4+F1iLeDk0bt6d11zgrULKyeZMql+1diuLcxOzS0w6JHRsfZPRrE963jax/yGa7nlhbY4YN21xL5BbZ0cjynRtZU/W5md2jmf2jzmOfBjttP+vvxMuPsj/uQsWj7rkRPaJGRC/bgKpCAaNIh6HSdGiVXMKkyac9rl20rHWUejJdq0GYB7/nP71WtvgNc5k/lg==
Steps to reproduce
Use the reproduction link for example.
What is expected?
When a watcher for prop value with true value for immediate watch property, have a side effect that triggers another watch that doesn't have immediate watch property as true, it is expected to either trigger that second watch or not trigger the second watch
What is actually happening?
But what happens is that if the second watch is above the prop value watch or in a mixin situation when the parent mixin has atleast a empty watch that is above the prop value watch it is triggered and when the second watch is below the prop value watch or in mixin situation the second watch is there as a mixin user watch it is not triggered
System Info
Any additional comments?
No response
It is recommended to change val to computed or directly assign a value to this.val, rather than relying on chained triggering between watches.