ng-click 不工作 - AngularJs

ng-click is not working - AngularJs

我已经检查了这里所有可用的解决方案,但对我没有帮助。

我正在尝试显示从 AngularJs 到 html 的按钮,但 ng-click 不适用于 <a><button> 标签。我在 Eclipse 中工作,它包含许多内置模块。请帮帮我。下面是示例代码:

   <!DOCTYPE html>
<html>
<head>
    <script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.min.js"></script>
</head>
<body>
<div ng-app="" ng-controller="contrl">
<a href="" ng-click="testFunc1()">Link1</a>
<div id="id1">Text1</div>
<p id="id2">Text2</p>
</div>

<script>
    function contrl($scope,$http,$location){
            xyz = '<button type="submit" ng-click="testFunc2()">Link2</button>';
            document.getElementById("id1").innerHTML = xyz;

            $scope.testFunc1 = function() {
            document.getElementById("id2").innerHTML = "abc";
            };
            $scope.testFunc2 = function() {
            document.getElementById("id2").innerHTML = "xyz";
            };
    }
</script>
</body>
</html>

只有 ng-click 属性在我通过 angularJs 传递时不起作用。甚至 href 属性也适用于相同的情况。当我使用 Eclipse 时,所有必需的模块都已经设置在不同的文件中。两周以来,我一直在使用 angularJs,一切正常,除了我遇到这个问题时。

不完全确定你在做什么,但像这样的东西会更好:

<!DOCTYPE html>
<html>
<body>
<div ng-app="myApp" ng-controller="contrl">
<p><a href="" ng-click="testFunc1()">Link1</a></p>
<div id="id1">{{ val1 }}</div>
<p id="id2">{{ val2 }}</p>
</div>

<script>
  var myApp = angular.module('myApp',[]);

  myApp.controller('contrl', ['$scope', '$http', '$location', function($scope, $http, $location) {

      $scope.val1 = "text1";
      $scope.val2 = "text2";

      $scope.testFunc1 = function(){
            $scope.val1 = 'New Value';              
      }

      $scope.testFunc2 = function(){      
            $scope.val2 = 'Second New Value';                         
      };
  }]);

</script>
</body>
</html>

你的代码是人们会遵循的最基本的方法。它没有错,唯一的问题是你似乎正在使用更新版本的 angular 进行开发,或者你忘记包含任何.

最近发布的 angular 版本不支持您的应用程序开发模式。

我一直用到1.2.26,还行。

Check demo here

你也用过innerHTML,还有document.getElementById。

这些都不是必需的。阅读 angular.

有关绑定和其他最佳部分的更多信息

那是因为 angular 不知道您使用纯 javascript 引入的 ng-click。 因此,如果您想在 html 中执行此操作,您可以这样编写脚本:

    function contrl($scope){


        $scope.text = 'text2';
        $scope.testFunc1 = function() {
            $scope.text = "abc";
        };
        $scope.testFunc2 = function() {
            $scope.text = "xyz";
        };
};

如果您仍想从脚本中插入 html,请查看此处:AngularJS : Insert HTML into view