[英]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.