Javascript $rootScope未更改内容。。。。我的错误是什么?
我对$rootScope有问题。我正在更改“button”clicked事件中的值,但它在指令中没有更改 HTML页面显示“测试”开始,点击按钮,我希望更改为“点击”。错在哪里?在我的代码中,请帮助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";
<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,它们非常有用: