我遇到了$ 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>
答案 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';
}
});