gpt4 book ai didi

javascript - 如何使用 ng-repeat 中的变量动态设置 ng-click 上的参数

转载 作者:行者123 更新时间:2023-12-02 16:40:26 24 4
gpt4 key购买 nike

我正在尝试获取{{date | date:'dd'}} 表达式添加到我的标签中,并将其作为方法参数插入到我的 ng-click 上。问题是,当我尝试此操作时,出现 undefined is not a function 错误。 {{}} 表达式按其应有的方式填充,但进入 ng-clickdate 看起来就像某个 undefined variable 。我不知道如何解决这个问题,任何帮助将不胜感激。

<div ng-controller="methodController">
<div class="btn-group" data-ng-repeat="date in dates">
<label data-ng-click="method(date | date:'dd')">{{date | date:'dd'}}</label>
</div>
</div>

我也尝试过:

ng-click="方法(日期)ng-click="method({{date | date:'dd'}})

在 Angular 中,我使用以下方法创建日期数组。

$scope.dates = [];

for (var i = -3; i <= 3; i++) {
var today = new Date();
$scope.dates.push(today.setDate(today.getDate() + i));
}

我的方法是在 methodController 中定义的:

$scope.method = function (date) {
//code guts
}

最佳答案

以其他人为基础。 $filter 函数似乎就是答案。但在 Controller 逻辑内部而不是在 View 的方法中过滤它。这是plunk .

<body ng-controller="MainCtrl">
<p>Title</p>
<ul>
<li ng-repeat="date in dates"
ng-click="alert(date)"
ng-class="{{date | date:'dd'}}">click here: {{date | date:'dd'}} </li>
</ul>

<script>

angular.module('plunker')
.controller('MainCtrl', function($scope, $filter) {
$scope.dates = [];
$scope.newDate = new Date();
var today = $scope.newDate

for(i = -3; i < 0; i++) {
$scope.dates.push(today.setDate(today.getDate() + i));
}

$scope.alert = function(a) {
var b = $filter('date')(a, 'dd');
alert(b);
};

});
</script>
</body>

关于javascript - 如何使用 ng-repeat 中的变量动态设置 ng-click 上的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27553767/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com