AngularJS:与$scope和单选按钮交互的混淆
在这个非常简单的示例中,AngularJS:与$scope和单选按钮交互的混淆,angularjs,Angularjs,在这个非常简单的示例中,$scope为什么不改变状态?当我选择每个单选按钮时,我希望看到一条控制台消息,显示作用域的值已更改。这看起来很简单,不知道我遗漏了什么。也就是说,我对angular很陌生,所以如果我做出了不应该这样的假设,请纠正我 HTML: Fiddle:通常在scope属性的名称上设置$watch。因此,我希望看到类似的情况: var app = angular.module('demo', []); app.controller('SampleCtrl', function(
$scope
为什么不改变状态?当我选择每个单选按钮时,我希望看到一条控制台消息,显示作用域的值已更改。这看起来很简单,不知道我遗漏了什么。也就是说,我对angular很陌生,所以如果我做出了不应该这样的假设,请纠正我
HTML:
Fiddle:通常在scope属性的名称上设置
$watch
。因此,我希望看到类似的情况:
var app = angular.module('demo', []);
app.controller('SampleCtrl', function($scope) {
$scope.groupby = 2;
$scope.$watch('groupby', function () {
console.log($scope.groupby);
});
});
下面是一个。通常在作用域属性的名称上设置
$watch
。因此,我希望看到类似的情况:
var app = angular.module('demo', []);
app.controller('SampleCtrl', function($scope) {
$scope.groupby = 2;
$scope.$watch('groupby', function () {
console.log($scope.groupby);
});
});
下面是一个示例。代码应为
var app = angular.module('demo', []);
app.controller('SampleCtrl', function($scope) {
$scope.groupby = 2;
$scope.$watch('groupby', function () {
console.log($scope.groupby);
});
});
或者,在$watch
表达式中,可以使用函数而不是名称
$scope.$watch(function () { return $scope.groupby }, function () {
...
});
使用函数有很多优点。例如,您可以查看复杂的表达式,而不仅仅是变量。代码应为
var app = angular.module('demo', []);
app.controller('SampleCtrl', function($scope) {
$scope.groupby = 2;
$scope.$watch('groupby', function () {
console.log($scope.groupby);
});
});
或者,在$watch
表达式中,可以使用函数而不是名称
$scope.$watch(function () { return $scope.groupby }, function () {
...
});
使用函数有很多优点。例如,您可以观察复杂的表达式,而不仅仅是变量。我知道这将是一件愚蠢的事情;)谢谢你的回答。我知道这会很愚蠢;)谢谢你的回答。我知道这会很愚蠢;)谢谢你的回答。指定作为第一个参数成为函数的能力的额外提示的答案。非常感谢!我知道这将是一件愚蠢的事情;)谢谢你的回答。指定作为第一个参数成为函数的能力的额外提示的答案。非常感谢!