我写了一个自己的角度指令的问题,它将promise作为参数。这个" promise-parameter"可以在开头未定义并观察,因此应该在watch函数中看到更改为它。
我有两个不同版本的指令(" loader")。
第一个有效: http://jsfiddle.net/rkw43/23/
第二个不是: http://jsfiddle.net/rkw43/25/
$scope.watch('promise', function(newValue, oldValue) {
console.log("New Value: ");
console.log(newValue); // NEW VALUE equals "promise" and not the query.promise from parent scope, why?
如第二版的评论中所述," newVal"在loader-direactive的watch函数中总是等于" promise",但它应该是来自父作用域的新的promise-object。
为什么这不起作用?这有什么不对?我想弄清楚几个小时......
提前感谢您的帮助!
答案 0 :(得分:0)
$scope.watch('promise', function(newValue, oldValue) {
应该是
$scope.$watch('promise', function(newValue, oldValue) {
$scope.query = deferred.promise
或
$scope.promise.promise
函数中的 execute
。