我无法让angularJS识别ng-app、ng-controller或ng-click中定义的变量。
到目前为止,我尝试过的3组代码是:
<table>
<thead>
<tr>
<script>
var app = angular.module('ngClickApp', []);
app.controller('ngClickCtrl', function ($scope) {
$scope.clkCount = 0;
});
</script>
<th ng-app="ngClickApp" ng-controller="ngClickCtrl">
<button class="some-scss" ng-click="clkCount = clkCount +1">
<b>someCol {{ clkCount }}</b>
</button>
</th><table>
<thead>
<tr ng-app="ngClickApp">
<th><button class="some-scss" ng-controller="ngClickCtrl"><b>someCol {{ clkCount }}</b></button></th>
<script>
var app = angular.module('ngClickApp', []);
app.controller('ngClickCtrl', function ($scope) {
$scope.clkCount = 0;
});
</script><table>
<thead>
<tr ng-app="ngClickApp">
<th><button class="some-scss" ng-controller="ngClickCtrl"><b>someCol {{ clkCount }}</b></button></th>
<script>
var ngClickCtrl = function ($scope) {
$scope.clkCount = 0;
};
</script>他们三个都没能认出clkCount。
我发现的示例不使用表格格式。(https://www.tutorialsteacher.com/angularjs/angularjs-scope)或(https://www.tutlane.com/tutorial/angularjs/angularjs-ng-click-event-function-with-example)
另外,出于好奇,为了在第一个代码中测试ng-click,我定义了一些函数并在ng-click中调用它,但它不起作用。
clickTest() {
console.log('1');
}
<th><button class="some-scss" ng-click="clickTest()">someButton</button></th>当我点击"someButton“时没有打印%1,而
clickTest() {
console.log('1');
}
<th><button class="some-scss" (click)="clickTest()">someButton</button></th>当我单击相同的按钮时,确实打印了%1。
因此,我想知道ng-app、ng- <tbody>和ng-click是否需要某种类型的初始化,或者它们必须在<tbody>中,或者任何其他建议,为什么上面所有在示例中运行良好的代码在表中都不运行。
发布于 2020-04-14 02:28:00
<!DOCTYPE html>
<html lang="en-US">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<body>
<table>
<thead>
<tr ng-app="ngClickApp">
<th>
<button class="some-scss" ng-controller="ngClickCtrl" ng-click="clkCount=clkCount+1"><b>someCol {{clkCount}}</b></button>
</th>
</tr>
</thead>
</table>
</body>
</html>
<script>
var app = angular.module('ngClickApp', []);
app.controller('ngClickCtrl', function ($scope) {
$scope.clkCount = 0;
var app = angular.module('ngClickApp', []);
app.controller('ngClickCtrl', function($scope) {
$scope.clkCount = 0;
});<!DOCTYPE html>
<html lang="en-US">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<body>
<table>
<thead>
<tr ng-app="ngClickApp">
<th>
<button class="some-scss" ng-controller="ngClickCtrl" ng-click="clkCount=clkCount+1"><b>someCol {{clkCount}}</b></button>
</th>
</tr>
</thead>
</table>
</body>
</html>
您好,您不应该将脚本放在表中。需要将脚本放在单独的文件中,或者放在HTML的末尾,或者放在HTML中body标记的上方,这样页面加载速度就会更快,因为javascript代码可能会阻止/延迟加载过程。尽量不要在同一文件中使用脚本、CSS或HTML,以保持代码易于阅读、维护和修改。谢谢
https://stackoverflow.com/questions/61182903
复制相似问题