Angularjs 当控制器中的值更改时,从指令中的控制器访问值

Angularjs 当控制器中的值更改时,从指令中的控制器访问值,angularjs,angularjs-directive,angularjs-scope,Angularjs,Angularjs Directive,Angularjs Scope,我创建了这个JSFIDLE来说明我的问题 HTML: 我的awsomw按钮 {{awesome}} 使用模板:{{message}} 没有模板:{{message} JS: var-app=angular.module('myApp',[]) 函数MyCtrl($scope){ $scope.message='hello'; $scope.awesome=false; $scope.toggleAwesome=function(){ 如果($scope.awesome){$scope

我创建了这个JSFIDLE来说明我的问题

HTML:

我的awsomw按钮

{{awesome}}
使用模板:{{message}}
没有模板:{{message}
JS: var-app=angular.module('myApp',[])

函数MyCtrl($scope){
$scope.message='hello';
$scope.awesome=false;
$scope.toggleAwesome=function(){
如果($scope.awesome){$scope.awesome=false;}
else{$scope.awesome=true;}
};
}
app.directive('exampleDirective1',function(){
返回{
限制:'E',
模板:“”,
替换:正确,
范围:{
真棒:'='
},
链接:功能(范围、elm、属性){
console.log(scope.awesome);
scope.$watch(scope.awesome,function(){console.log(scope.awesome);})
}
};
});
app.directive('exampleDirective2',function(){
返回{
限制:'E',
链接:功能(范围、elm、属性){
}
};
});

有没有办法知道
awesome
何时被修改?

我会将
$watch
更改为:

  scope.$watch(function(){return scope.awesome;},
           function(newV){
            console.log(newV);
        })  
此语句的优点是
function(){return scope.awesome;}
-您不必担心拼写问题。我认为把它写成字符串可能会导致意想不到的错误,比如“突然,观察者停止工作”

固定的



我会将
$watch
更改为:

  scope.$watch(function(){return scope.awesome;},
           function(newV){
            console.log(newV);
        })  
此语句的优点是
function(){return scope.awesome;}
-您不必担心拼写问题。我认为把它写成字符串可能会导致意想不到的错误,比如“突然,观察者停止工作”

固定的



我会将
$watch
更改为:

  scope.$watch(function(){return scope.awesome;},
           function(newV){
            console.log(newV);
        })  
此语句的优点是
function(){return scope.awesome;}
-您不必担心拼写问题。我认为把它写成字符串可能会导致意想不到的错误,比如“突然,观察者停止工作”

固定的



我会将
$watch
更改为:

  scope.$watch(function(){return scope.awesome;},
           function(newV){
            console.log(newV);
        })  
此语句的优点是
function(){return scope.awesome;}
-您不必担心拼写问题。我认为把它写成字符串可能会导致意想不到的错误,比如“突然,观察者停止工作”

固定的


请看这里而不是$watch(scope.awesome.)。。 使用范围。$watch('awesome')

 app.directive('exampleDirective1', function () {
        return {
            restrict: 'E',
            template: '<span> {{awesome}}</span>',
            replace: true,
            scope: {
                awesome: '='
            },
            link: function (scope, elm, attrs) {
                console.log(this.awesome);
                scope.$watch('awesome', function (value) {
                    console.log(value);
                })
            }
        };
    });
app.directive('exampleDirective1',函数(){
返回{
限制:'E',
模板:“{{awesome}}”,
替换:正确,
范围:{
真棒:'='
},
链接:功能(范围、elm、属性){
console.log(this.awesome);
范围:$watch('awesome',函数(值){
console.log(值);
})
}
};
});
请看这里,而不是$watch(scope.awesome.)。。 使用范围。$watch('awesome')

 app.directive('exampleDirective1', function () {
        return {
            restrict: 'E',
            template: '<span> {{awesome}}</span>',
            replace: true,
            scope: {
                awesome: '='
            },
            link: function (scope, elm, attrs) {
                console.log(this.awesome);
                scope.$watch('awesome', function (value) {
                    console.log(value);
                })
            }
        };
    });
app.directive('exampleDirective1',函数(){
返回{
限制:'E',
模板:“{{awesome}}”,
替换:正确,
范围:{
真棒:'='
},
链接:功能(范围、elm、属性){
console.log(this.awesome);
范围:$watch('awesome',函数(值){
console.log(值);
})
}
};
});
请看这里,而不是$watch(scope.awesome.)。。 使用范围。$watch('awesome')

 app.directive('exampleDirective1', function () {
        return {
            restrict: 'E',
            template: '<span> {{awesome}}</span>',
            replace: true,
            scope: {
                awesome: '='
            },
            link: function (scope, elm, attrs) {
                console.log(this.awesome);
                scope.$watch('awesome', function (value) {
                    console.log(value);
                })
            }
        };
    });
app.directive('exampleDirective1',函数(){
返回{
限制:'E',
模板:“{{awesome}}”,
替换:正确,
范围:{
真棒:'='
},
链接:功能(范围、elm、属性){
console.log(this.awesome);
范围:$watch('awesome',函数(值){
console.log(值);
})
}
};
});
请看这里,而不是$watch(scope.awesome.)。。 使用范围。$watch('awesome')

 app.directive('exampleDirective1', function () {
        return {
            restrict: 'E',
            template: '<span> {{awesome}}</span>',
            replace: true,
            scope: {
                awesome: '='
            },
            link: function (scope, elm, attrs) {
                console.log(this.awesome);
                scope.$watch('awesome', function (value) {
                    console.log(value);
                })
            }
        };
    });
app.directive('exampleDirective1',函数(){
返回{
限制:'E',
模板:“{{awesome}}”,
替换:正确,
范围:{
真棒:'='
},
链接:功能(范围、elm、属性){
console.log(this.awesome);
范围:$watch('awesome',函数(值){
console.log(值);
})
}
};
});