@@ -62,7 +62,7 @@ exports.$delete = function (key) {
62
62
* Watch an expression, trigger callback when its
63
63
* value changes.
64
64
*
65
- * @param {String } exp
65
+ * @param {String|Function } expOrFn
66
66
* @param {Function } cb
67
67
* @param {Object } [options]
68
68
* - {Boolean} deep
@@ -71,11 +71,17 @@ exports.$delete = function (key) {
71
71
* @return {Function } - unwatchFn
72
72
*/
73
73
74
- exports . $watch = function ( exp , cb , options ) {
74
+ exports . $watch = function ( expOrFn , cb , options ) {
75
75
var vm = this
76
- var watcher = new Watcher ( vm , exp , cb , {
76
+ var parsed
77
+ if ( typeof expOrFn === 'string' ) {
78
+ parsed = dirParser . parse ( expOrFn ) [ 0 ]
79
+ expOrFn = parsed . expression
80
+ }
81
+ var watcher = new Watcher ( vm , expOrFn , cb , {
77
82
deep : options && options . deep ,
78
- user : ! options || options . user !== false
83
+ user : ! options || options . user !== false ,
84
+ filters : parsed && parsed . filters
79
85
} )
80
86
if ( options && options . immediate ) {
81
87
cb . call ( vm , watcher . value )
0 commit comments