gpt4 book ai didi

javascript - ui-sref 或 $state.go 不适用于第一个指令

转载 作者:行者123 更新时间:2023-11-30 00:28:39 25 4
gpt4 key购买 nike

我在传递 3 条信息的指令上有一个 ng-repeat。该指令有一个按钮,我可以在其中使用参数将信息传递给另一个 View :

ui-sref='profiles.show({userId:profile._id, index:index, list:list})

我遇到的问题是所有卡片的按钮(卡片是指令)都正常工作,除了索引为 0 的按钮。按钮不会执行 ui-sref$state.go。我尝试使用 ng-click 和控制台记录所有参数,控制台日志显示正确的数据,但是带有参数的 $state.go 没有触发。

$state.go('profiles.show', {userId: profile._id, index: index, list: list})

此外,如果我从参数中删除索引和列表,第一个元素的 ui-sref 或 $state.go 再次起作用,但在下一个 View 中我不再获得必要的信息。

这是 profiles.show 的状态配置

.state('profiles.show', {url: '/{userId}', params: { index: null, list: null }, templateUrl:'/views/profiles/show/show.html', controller: 'ProfilesShowController'})

这是 ng-repeat(我使用的是 Jade):

.text-capitalize(al-card, ng-repeat='profile in profiles | filter:searchBar track by $index', profile='profile', index='$index', list='profiles')

这是带有 ng-click

的按钮
button.btn.btn-default(ng-click='goToProfile(profile, index, list)') Learn More

$scope 函数:

$scope.goToProfile = function(profile, index, list) {
console.log(profile);
console.log(index);
console.log(list);
$state.go('profiles.show', {userId: profile._id, index: index, list: list});
};

有什么帮助吗?

最佳答案

问题(正如@KevinF 提到的那样)是索引 0 被视为虚假值,为了解决它我只是修改了这一行:

.text-capitalize(al-card, ng-repeat='profile in profiles | filter:searchBar track by $index', profile='profile', index='$index', list='profiles')

到:

.text-capitalize(al-card, ng-repeat='profile in profiles | filter:searchBar track by $index', profile='profile', index='$index.toString()', list='profiles')

在指令中,我只是用 parseInt($index)

将它重新分配给自己

关于javascript - ui-sref 或 $state.go 不适用于第一个指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30466302/

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