Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript $rootScope未更改内容。。。。我的错误是什么?_Javascript_Angularjs Scope_Rootscope - Fatal编程技术网

Javascript $rootScope未更改内容。。。。我的错误是什么?

Javascript $rootScope未更改内容。。。。我的错误是什么?,javascript,angularjs-scope,rootscope,Javascript,Angularjs Scope,Rootscope,我对$rootScope有问题。我正在更改“button”clicked事件中的值,但它在指令中没有更改 HTML页面显示“测试”开始,点击按钮,我希望更改为“点击”。错在哪里?在我的代码中,请帮助 <html> <script src="jquery.min.js"></script> <script src="angular.js"></script> <script> "use strict";

我对$rootScope有问题。我正在更改“button”clicked事件中的值,但它在指令中没有更改

HTML页面显示“测试”开始,点击按钮,我希望更改为“点击”。错在哪里?在我的代码中,请帮助

<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>

“严格使用”;
var-app=angular.module('myApp',[]);
app.run(函数($rootScope){
$rootScope.name='TEST';
});
应用控制器('btnCtrl',函数($scope,$rootScope){
$(“#Btn”)。单击(函数($rootScope){
警报(“Btn已点击”);
$rootScope.name='CLICKED';
});
});
{{name}}
Clcik按钮将上述文本更改为“已单击”,不起作用为什么?


使用
ng click
而不是绑定
click
事件jquery方式。它应该是
。在控制器内部:

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

我发现未定义的错误不是作用域中的函数。$apply(file:///C:/Users/in4i_000/Documents/angular.js:12049:23)很抱歉,在我的示例中,控制器名称应该是“btnCtrl”,而不是“myCtrl”(假设您复制粘贴了代码)。检查一下,看看它是否修复了您的错误。此外,似乎您需要通过官方教程了解更多有关angular的知识,以理解概念并正确使用它:。同时检查egghead sreecasts,它们非常有用: