Динамически назначать идентификатор в URI в ng-ресурсе
У меня есть веб-страница, созданная на angularjs, в которой я использовал ng-ресурс и модуль ui-router.
В этом приложении Основное требование, которое я хочу, это чтобы на панели навигации я создал ng-repeat="". который выбирает имя пользователя из базы данных.
Теперь панель навигации будет создана
вместе с ui-sref="{{username}}", а затем теперь я показал app.js
этот App.js предназначен для представления, которое будет загружено, и для него потребуется {{username}} в качестве идентификатора, поэтому здесь имя пользователя необходимо для динамического распределения для каждого запроса get
var app = angular.module('trendy', ['ngResource']);
app.controller('trendyWho',[ 'UserFactory', function ( UserFactory) {
var self=this;
UserFactory.get({}, function (userFactory){
self.userdata = userFactory.user;
});
}]);
app.factory('UserFactory', function ($resource) {
return $resource('Trending/js/{{id:username}}', {}, {
query: {
method: 'GET',
params: {},
isArray: true
}
})
});
<!-- index.html -->
<!DOCTYPE html>
<html ng-app="trendy">
<head>
<!-- CSS (load bootstrap) -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<!-- JS (load angular, ui-router, and our custom js file) -->
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.16/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.15/angular-ui-router.js" ></script>
<script src="app.js"></script>
</head>
<!-- apply our angular app to our site -->
<body >
<!-- NAVIGATION -->
<nav class="navbar navbar-inverse" role="navigation">
<div class="navbar-header">
<a class="navbar-brand" ui-sref="#">AngularUI Router</a>
</div>
<ul class="nav navbar-nav" ng-repeat="">
<li><a ui-sref=".../{{username}}">{{username}}</a></li>
</ul>
</nav>
<!-- MAIN CONTENT -->
<div class="container">
<!-- THIS IS WHERE WE WILL INJECT OUR CONTENT ============================== -->
<div ui-view></div>
</div>
</body>
</html>
1 ответ
Ты используешь ui-sref
так я предполагаю, что вы используете ui-router?
Аргумент в ui-sref
отличается от нормального href
, вы передаете имя состояния вместо самого URL.
Например, ваше состояние
.state('main.user', {
url: "/user/{userId:[0-9]{1,}",
template: ...,
controller: ...
})
Тогда ваш среф будетui-sref="main.user({userId: username})"