gpt4 book ai didi

javascript - 如何从范围内的 ng Repeat 访问 ngonInit 值

转载 作者:行者123 更新时间:2023-11-28 14:56:01 25 4
gpt4 key购买 nike

在我的 infoDisplay(member) 中,我需要访问特定于我从 $scope 中单击的 div 的 ng-init 值并操作该值。我该怎么做?

<div ng-repeat="member in memberData">
<div class="card" ng-init="cardClicked = 'false'">
<div ng-click="infoDisplay(member)">
</div>
</div>
</div>

Javascript:

$scope.infoDisplay = function (member) {
if (settings.useApiInfo == 'false') {
var url = settings.directoryUrl + member.Id;
var openUrl = cordova.InAppBrowser.open(url, '_system', 'location = yes');
}
else {
cardClicked = { 'true': 'false', 'false': 'true' }[cardClicked];
}
}

第一部分有效,它是在我的移动应用程序中打开一个网址。我只需要第二部分,但无法让它工作。

最佳答案

我要做的是在项目本身上设置标志:

<div ng-repeat="member in memberData">
<div class="card" ng-init="member.cardClicked = false">
<div ng-click="infoDisplay(member)">
</div>
</div>
</div>

然后您可以在 Controller 中访问它:

$scope.infoDisplay = function(member) {
var cardClicked = member.cardClicked;
}

如果您认为您的 cardClicked 不应该出现在您的 member 项目上,只需跟踪数组中的值即可:

<div ng-repeat="member in memberData">
<div class="card" ng-init="cardsClicked[$index] = false">
<div ng-click="infoDisplay(member, $index)">
</div>
</div>
</div>

然后您可以在 Controller 中访问它:

$scope.infoDisplay = function(member, index) {
var cardClicked = $scope.cardsClicked[index];
}

关于javascript - 如何从范围内的 ng Repeat 访问 ngonInit 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42861117/

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