<li role="menuitem"><a href="#" ng-click='getData1()'>Day</a></li>
<li role="menuitem"><a href="#" ng-click='getWData2()'>Week</a></li>
<li role="menuitem"><a href="#" ng-click='getMData3()'>Month</a></li>
我定义了这三个HTML元素,点击后我想在Angular中调用一个函数。问题是我在角度中定义了三个函数,这些函数执行相同的操作但使用不同的参数。如何将固定参数传递给此函数以传入字符串,从而帮助我创建一个名为getData()
的可重用函数:
<li role="menuitem"><a href="#" ng-click='getData('Day')'>Day</a></li>
<li role="menuitem"><a href="#" ng-click='getData('Week')'>Week</a></li>
<li role="menuitem"><a href="#" ng-click='getData('Month')'>Month</a></li>
这是功能:
$scope.getDayData = function(day){
$scope.currentInterval = "day";
$http.get("http://localhost:8080/" + day)
.then(function(response) {
});
答案 0 :(得分:1)
将ng-click
更改为
<li role="menuitem"><a href="#" ng-click="getData('Day')">Day</a></li>
<li role="menuitem"><a href="#" ng-click="getData('Week')">Week</a></li>
<li role="menuitem"><a href="#" ng-click="getData('Month')">Month</a></li>
因为单个引号'
,您会遇到意外的字符错误。
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<script data-require="angular.js@1.4.8" data-semver="1.3.0-beta.5" src="https://code.angularjs.org/1.3.0-beta.5/angular.js"></script>
</head>
<body ng-app="myApp" ng-controller="myCtrl">
<li role="menuitem"><a href="#" ng-click="getData('Day')">Day</a></li>
<li role="menuitem"><a href="#" ng-click="getData('Week')">Week</a></li>
<li role="menuitem"><a href="#" ng-click="getData('Month')">Month</a></li>
<script>
//module declaration
var app = angular.module('myApp', []);
//controller declaration
app.controller('myCtrl',function($scope){
$scope.getData = function(data) {
console.log(data);
}
});
</script>
</body>
</html>
答案 1 :(得分:0)
您应该对属性使用双引号,因为您使用单引号传递参数:
<li role="menuitem"><a href="#" ng-click="getData('Day')">Day</a></li>
<li role="menuitem"><a href="#" ng-click="getData('Week')">Week</a></li>
<li role="menuitem"><a href="#" ng-click="getData('Month')">Month</a></li>
这可能不适用于某些浏览器。其余的看起来不错。