ng click功能在angularJS控制器中不起作用

时间:2018-03-22 06:12:52

标签: javascript html angularjs

这是我的代码,实际上当我点击功能但没有显示警告而没有在控制台中收到错误时。所以请告诉我该怎么做。

HTML代码

 <li class="has-megamenu" ng-click="homepage()" ><a ><span >Home</span></a>
 </li>

app.js

app.controller('myController', function($scope){
$scope.homepage = function(){
    alert('hi');
}});

2 个答案:

答案 0 :(得分:6)

可能有两个原因

1-不在应用程序的根元素中使用ng-app指令。

2-您尚未正确定义ng-controller

请遵循以下工作代码。

<html>
<head>
  <link rel="stylesheet" href="style.css">
  <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.5/angular.js"></script>

  <script>
    var app = angular.module('app', []);
    app.controller('myController', function($scope) {
      $scope.homepage = function() {
        alert('hi');
      }
    });
  </script>
</head>

<body ng-app="app">
  <div ng-controller="myController">
    <ul>
      <li class="has-megamenu" ng-click="homepage()"><a><span >Home</span></a>
      </li>
    </ul>
  </div>

</body>

</html>

答案 1 :(得分:3)

首先您必须添加ng-app = "app"

第二次您必须添加ng-controller = "myController"

<强>最终 请检查更新的代码:

var app = angular.module("app", []);
app.controller('myController', function($scope){
$scope.homepage = function(){
    alert('hi');
}});
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
</head>
  <body ng-app = "app">
    <div ng-controller = "myController">
      <li class="has-megamenu" ng-click="homepage()" ><a ><span >Home</span></a>
       </li>
     <div>
   </body>
 </html>

相关问题