javascript添加事件监听器不适用于angularjs$scope
javascript add event listener not working with angularjs $scope
这是我的html文件:
<section data-ng-controller="myCtrl">
{{name}}
<button id="btn1">Button1</button>
</section>
这是我的控制器:
angular.module('users').controller('myCtrl', ['$scope',
function($scope) {
$scope.name="HELLO";
document.getElementById("btn1").addEventListener("click",function(){
$scope.name="changed";
});
}]);
html文件显示HELLO,但单击按钮后不会变为"changed"。我刚接触angular,有人能帮我吗?
这是因为常规事件侦听器不会在Angular中触发$digest
循环,这将更新视图。您应该使用ngClick
并定义$scope
函数:
$scope.clickHandler = function() { $scope.name = "changed"; };
以及HTML:
<button ng-click="clickHandler()">Button1</button>
相关文章:
- AngularJS:$scope$注意两个相互依赖的值
- AngularJS: $scope is not defined?
- Angularjs$scope让我很困惑
- 为什么AngularJS$scope.watch()在我告诉它监视数组时会停止工作
- Angularjs$scope和此函数
- 如何在javascript中填充Angularjs$scope变量
- AngularJS Scope.on和Scope.emit在筛选器中的调用顺序
- AngularJS$scope在指令中编译控制器时未定义
- AngularJS-$scope不绑定到DOM
- AngularJS $scope.variable 是未定义的
- AngularJs $scope在离子项目中是未定义的
- 在 angularjs $scope中获取数据,同时从 django 获取数据
- AngularJS:$scope.$on 和 document.addEventListener 之间的差异
- Angularjs $scope - 如何通过控制器获得正确的一个(初学者)
- AngularJS$scope点击时不会更新
- AngularJS$scope更改不更新视图
- AngularJS:$scope.$watch 不会更新从自定义指令$resource获取的值
- AngularJS$scope原型继承 - 原始与对象
- AngularJS$scope继承服务
- AngularJS$scope更新,而不是视图