$ rootScope没有更改内容....我的错误是什么?

时间:2014-08-25 10:44:02

标签: javascript angularjs-scope rootscope

我遇到了$ rootScope的问题。我正在更改"按钮"中的值点击事件,但它不会改变指令。

HTML页面显示" TEST"首先,点击按钮,我希望更改为"点击"。这是什么错误?在我的代码中,请帮助。

<html>
<script src="jquery.min.js"></script>
<script src="angular.js"></script>
<script>
       "use strict";
       var app = angular.module('myApp', []);

       app.run(function ($rootScope) {
                $rootScope.name = 'TEST';
       });

       app.controller('btnCtrl', function($scope, $rootScope){

       $("#Btn").click( function($rootScope) {
            alert('Btn clicked');
            $rootScope.name = 'CLICKED';
       });

     });

</script>
<body>
    <div ng-app="myApp">

        <b> {{name}} </b>  
        <p> Clcik button to change above text to "CLICKED", <u>not working why?</u></p> 

        <div ng-controller="btnCtrl" > 
            <input type="button" value="Button" id="Btn" />   
        </div>    
    </div>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

使用ng-click而不是绑定click事件jquery-way。它应该是<input type="button" value="Button" id="Btn" ng-click="assignNewName()" />。在你的控制器里面:

app.controller('myCtrl', function($scope, $rootScope) {
  $scope.assignNewName = function() {
    $rootScope.name = 'Foo';
  }
});