簡體   English   中英

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>

通過AngularJs時,只有ng-click屬性不起作用。 甚至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,它有效。

在此處查看演示

您還使用了innerHTML以及document.getElementById。

這些都不是必需的。 閱讀更多有關裝訂和其他最佳角度部件的信息。

那是因為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:將HTML插入視圖

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM