作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我的 html 文件:
<section data-ng-controller="myCtrl">
{{name}}
<button id="btn1">Button1</button>
</section>
这是我的 Controller :
angular.module('users').controller('myCtrl', ['$scope',
function($scope) {
$scope.name="HELLO";
document.getElementById("btn1").addEventListener("click",function(){
$scope.name="changed";
});
}]);
html 文件显示 HELLO,但在单击按钮时不会更改为“已更改”。我是 Angular 的新手,有人可以帮助我吗..
最佳答案
这是因为常规事件监听器不会在 Angular 中触发 $digest
循环,这将更新 View 。您应该使用 ngClick
并定义一个 $scope
函数:
$scope.clickHandler = function() { $scope.name = "changed"; };
和 HTML:
<button ng-click="clickHandler()">Button1</button>
关于javascript 添加事件监听器不适用于 angularjs $scope,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32617151/
我是一名优秀的程序员,十分优秀!