mirror of https://github.com/vuejs/vue.git
support sync watcher as internal flag
This commit is contained in:
parent
0c9c6ed08d
commit
634a0734c4
|
|
@ -19,7 +19,8 @@ module.exports = function (config) {
|
|||
ignore: [
|
||||
'test/',
|
||||
'src/compiler/parser/html-parser.js',
|
||||
'src/core/instance/proxy.js'
|
||||
'src/core/instance/proxy.js',
|
||||
'src/sfc/deindent.js'
|
||||
]
|
||||
}]]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ export default class Watcher {
|
|||
deep: boolean;
|
||||
user: boolean;
|
||||
lazy: boolean;
|
||||
sync: boolean;
|
||||
dirty: boolean;
|
||||
active: boolean;
|
||||
deps: Array<Dep>;
|
||||
|
|
@ -48,6 +49,7 @@ export default class Watcher {
|
|||
this.deep = !!options.deep
|
||||
this.user = !!options.user
|
||||
this.lazy = !!options.lazy
|
||||
this.sync = !!options.sync
|
||||
this.expression = expOrFn.toString()
|
||||
this.cb = cb
|
||||
this.id = ++uid // uid for batching
|
||||
|
|
@ -167,8 +169,11 @@ export default class Watcher {
|
|||
* Will be called when a dependency changes.
|
||||
*/
|
||||
update () {
|
||||
/* istanbul ignore else */
|
||||
if (this.lazy) {
|
||||
this.dirty = true
|
||||
} else if (this.sync) {
|
||||
this.run()
|
||||
} else {
|
||||
queueWatcher(this)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue