gpt4 book ai didi

javascript - 如何使用 Angular JS 在状态之间导航

转载 作者:行者123 更新时间:2023-12-03 11:02:22 24 4
gpt4 key购买 nike

我正在编写代码来显示简单的用户列表。当单击用户时,我想访问包含该用户信息的 View 。我已经达到了在列表中显示用户的程度,当我单击用户时,我会进入我创建的 View 。我的问题是在哪里添加所有用户的 View 以及如何正确显示它们:

这是我到目前为止得到的:

UsersCtrl.$inject = ['$scope'];
function EventsCtrl($scope {
$scope.events = [
{ Name: 'User1', id: 1, image: 'logo1.jpg' },
{ Name: 'User2', id: 2, image: 'logo2.jpg' },
];
}

UsersCtrl.$inject = ['$scope'];
function UserCtrl($scope, '$routeParams') {
$scope.userId = $routeParams.userId;
}

在 app.js 中:

 .state('app.users', {
url: "/users",
views: {
'appScreen': {
templateUrl: "users.html",
controller: 'UsersCtrl'
}
}
})

.state('app.userV', {
url: "/users/:usersId",
views: {
'appScreen': {
templateUrl: "user.html",
controller: 'UsersCtrl'
}
}
})

在我的 Index.html 中

<script type="text/ng-template" id="users.html">
<ion-view view-title="Users">
<ion-content>
<div class="list">
<a class="item item-thumbnail-left" ng-repeat="user in users" ui-sref="app.userV({userId: user.id})">
<img ng-src="{{user.image }}">
<h2>{{user.Name}}</h2>
</a>
</div>
</ion-content>
</ion-view>
</script>

<script type="text/ng-template" id="user.html">
<ion-view view-title="User">
<ion-content>
<div class="list card">

<div class="item item-avatar">
<img src="User1.jpg">
<h2>User 1 </h2>
</div>

<div class="item item-body">
<img class="full-image" src="/Content/img/P9090246.jpg">
<p>
This is a "Facebook" styled Card. The header is created from a Thumbnail List item,
the content is from a card-body consisting of an image and paragraph text.
</p>
</div>
</div>
</ion-content>
</ion-view>
</script>

最佳答案

所以你已经完成了很好的设置。您希望将 html 结构放入 user.html(您创建的用于查看特定用户的新页面)。但 html 只是一个模板,对于每个用户来说都是相同的(例如显示名称、在此处显示图像等)。在该 html 中,您希望使用通过 url 作为参数传递的 id 包含特定用户的 Angular 绑定(bind)。希望这会有所帮助

编辑:(了​​解更多信息)因此,构建一个名为 userDetailCtrl 之类的不同 Controller 可能会更容易。并在 ngRoute 结构中进行匹配。在该 Controller 中,与注入(inject) $scope 的原因相同,您想要注入(inject) $routeParams。像这样的东西:

mainAppControllers.controller('userDetailCtrl', ['$scope', '$routeParams', function($scope, $routeParams) {
$scope.userId = $routeParams.userId;
}]);

然后你就会得到该用户的Id,并且可以获取相应的信息。本质上,您正在使用 Angular 的注入(inject)功能将信息传递给 Controller ​​

关于javascript - 如何使用 Angular JS 在状态之间导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28025899/

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