[misc]重构$watch相关代码