ng-click 不会在 angularJs 控制器中调用方法
ng-click doesn't invoke method inside angularJs controller
我正在尝试从头开始创建一个 angular 应用程序。几个小时以来,我一直在努力解决这个问题,但我无法让它发挥作用。
以下所有文件都放在父文件夹中。
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<title>Hello</title>
<script data-require="angular.js@1.6.0" data-semver="1.6.0" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.0/angular.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body ng-app="app">
<h1>Student App</h1>
<section ng-controller="HelloController">
<h4>Enter Student Details</h4>
<label for="name">Name :</label>
<input id="name" type="text" ng-model="student.name" />
<p>Hello {{student.name}}!</p>
</section>
<button id="name" type="submit" ng-click="onButtonClick()">Click</button>
</body>
</html>
HelloController.js
angular.module('app', [])
.controller('HelloController', ["$scope", function($scope) {
$scope.onButtonClick = function()
{
console.log("method invoked");
};
}]);
如果有人能帮助我解决我面临的这个问题,那就太好了。
您的按钮不在控制器控制的 <section>
范围内。所以点击它会在根范围内调用 onButtonClick()
,而不是在控制器的范围内。
我正在尝试从头开始创建一个 angular 应用程序。几个小时以来,我一直在努力解决这个问题,但我无法让它发挥作用。 以下所有文件都放在父文件夹中。
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<title>Hello</title>
<script data-require="angular.js@1.6.0" data-semver="1.6.0" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.0/angular.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body ng-app="app">
<h1>Student App</h1>
<section ng-controller="HelloController">
<h4>Enter Student Details</h4>
<label for="name">Name :</label>
<input id="name" type="text" ng-model="student.name" />
<p>Hello {{student.name}}!</p>
</section>
<button id="name" type="submit" ng-click="onButtonClick()">Click</button>
</body>
</html>
HelloController.js
angular.module('app', [])
.controller('HelloController', ["$scope", function($scope) {
$scope.onButtonClick = function()
{
console.log("method invoked");
};
}]);
如果有人能帮助我解决我面临的这个问题,那就太好了。
您的按钮不在控制器控制的 <section>
范围内。所以点击它会在根范围内调用 onButtonClick()
,而不是在控制器的范围内。