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

时间:2015-09-16 19:32:12

标签: javascript angularjs

这是我的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,但它没有更改为&#34;已更改&#34;点击按钮。 我是棱角分明的新人,请有人帮助我..

1 个答案:

答案 0 :(得分:4)

这是因为常规事件侦听器不会在Angular中触发$digest循环,这将更新视图。您使用ngClick并定义$scope函数:

$scope.clickHandler = function() { $scope.name = "changed"; };

HTML:

<button ng-click="clickHandler()">Button1</button>