gpt4 book ai didi

javascript 添加事件监听器不适用于 angularjs $scope

转载 作者:行者123 更新时间:2023-11-30 09:59:04 24 4
gpt4 key购买 nike

这是我的 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com