Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS作用域应用在单击时不起作用_Javascript_Angularjs_Scope - Fatal编程技术网

Javascript AngularJS作用域应用在单击时不起作用

Javascript AngularJS作用域应用在单击时不起作用,javascript,angularjs,scope,Javascript,Angularjs,Scope,我正在尝试使用以下代码在单击事件后使用范围变量值: $('#teamDetailTabs a').click(function(data) { $scope.$apply(function(){ console.log($(this).attr('data-target')); $scope.activeTab = $(this).attr('data-target');

我正在尝试使用以下代码在单击事件后使用范围变量值:

$('#teamDetailTabs a').click(function(data) {
                $scope.$apply(function(){
                    console.log($(this).attr('data-target'));
                    $scope.activeTab = $(this).attr('data-target');
                    console.log($scope.activeTab);
                });
});
问题是$scope.activeTab值是未定义的,即使我使用了$scope.apply

我怎样才能解决它呢

谢谢你的建议

这个内部apply调用的上下文不是您所期望的,它不再是一个domeElement。因此,您可以这样修复它:

var self = this;
$scope.$apply(function() {
    console.log($(self).attr('data-target'));
    $scope.activeTab = $(self).attr('data-target');
    console.log($scope.activeTab);
});
不过,我强烈建议您使用ngClick,不要在Angular应用程序中使用jQuery风格的方法。看看这个非常有趣的例子