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,还行。
你也用过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
我已经检查了这里所有可用的解决方案,但对我没有帮助。
我正在尝试显示从 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,还行。
你也用过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