Angular 单击时更改按钮文本
Angular changing button text on click
我正在开发一款游戏,我需要让用户在完成上一关后选择下一关。这可以继续到第 7 级。
我需要能够更改按钮上的文本以指示下一个标签编号,最多为 7。
因此,在控制器中,我需要读取之前显示的按钮文本,以便显示下一个数字。
有人可以帮忙吗?这是我的代码笔 codepen link
以及到目前为止我已经尝试过的附带代码
<html ng-app="myApp">
<body ng-controller="myCtrl">
<div id="nextlevel">
<h3>Level Completed!</h3>
<button id="nextplay" ng-model="number" ng-init="buttontext='Level
2'">{{buttontext}}</button>
</div>
</body>
</html>
和控制器 -
myApp = angular.module("myApp",[]);
myApp.controller("myCtrl", function($scope){
document.getElementById("nextplay").addEventListener('click', function() {
nextlevel.style.display = 'none';
setTimeout(function() {
nextlevel.style.display = '';
}, 500);
if ($scope.number <=7) {
$scope.number = $scope.number + 1;
}
el.emit('gameStarted', {});
});
$scope.buttontext = "Level " + $scope.number;
});
我不确定如何将按钮文本的值更新为下一个值。
这里有一个解决方案和一些我建议注意的注意事项:
<html ng-app="myApp">
<body ng-controller="myCtrl">
<div id="nextlevel">
<h3>Level Completed!</h3>
<button id="nextplay" ng-click="buttonClicked()">
Level {{number}}
</button>
</div>
</body>
</html>
myApp = angular.module("myApp",[]);
myApp.controller("myCtrl", function($scope) {
$scope.number = 1;
$scope.buttonClicked = function() {
nextlevel.style.display = 'none';
setTimeout(function() {
nextlevel.style.display = '';
}, 500);
$scope.number++;
}
});
'addEventListener' 而不是 AngularJs 中有一个名为 'ng-click' 的指令,它调用包含在控制器的 $scope 中的函数。
级别可以直接写在你的 html 中并绑定到 $scope 变量(称为 'number')。
此处不需要指令'ng-init'。
我正在开发一款游戏,我需要让用户在完成上一关后选择下一关。这可以继续到第 7 级。
我需要能够更改按钮上的文本以指示下一个标签编号,最多为 7。
因此,在控制器中,我需要读取之前显示的按钮文本,以便显示下一个数字。
有人可以帮忙吗?这是我的代码笔 codepen link
以及到目前为止我已经尝试过的附带代码
<html ng-app="myApp">
<body ng-controller="myCtrl">
<div id="nextlevel">
<h3>Level Completed!</h3>
<button id="nextplay" ng-model="number" ng-init="buttontext='Level
2'">{{buttontext}}</button>
</div>
</body>
</html>
和控制器 -
myApp = angular.module("myApp",[]);
myApp.controller("myCtrl", function($scope){
document.getElementById("nextplay").addEventListener('click', function() {
nextlevel.style.display = 'none';
setTimeout(function() {
nextlevel.style.display = '';
}, 500);
if ($scope.number <=7) {
$scope.number = $scope.number + 1;
}
el.emit('gameStarted', {});
});
$scope.buttontext = "Level " + $scope.number;
});
我不确定如何将按钮文本的值更新为下一个值。
这里有一个解决方案和一些我建议注意的注意事项:
<html ng-app="myApp">
<body ng-controller="myCtrl">
<div id="nextlevel">
<h3>Level Completed!</h3>
<button id="nextplay" ng-click="buttonClicked()">
Level {{number}}
</button>
</div>
</body>
</html>
myApp = angular.module("myApp",[]);
myApp.controller("myCtrl", function($scope) {
$scope.number = 1;
$scope.buttonClicked = function() {
nextlevel.style.display = 'none';
setTimeout(function() {
nextlevel.style.display = '';
}, 500);
$scope.number++;
}
});
'addEventListener' 而不是 AngularJs 中有一个名为 'ng-click' 的指令,它调用包含在控制器的 $scope 中的函数。
级别可以直接写在你的 html 中并绑定到 $scope 变量(称为 'number')。
此处不需要指令'ng-init'。