ui-router переход на страничку с товаром.
Пишу админку для учета ремонтируемых девайсов, использую ui-router для перехода по страничкам. На главной сранице у меня идет вывод всех девайсов в ремонте (привожу пример json массива устройств):
[ { "id": "1", "data" : "2014-04-07 16:05 -07:00", "device" : "nokia l50", },{ "id": "2", "data" : "2014-04-07 16:05 -07:00", "device" : "nokia l50", } ] Через ng-repeat идет вывод всего json файла. <tr data-ng-repeat = "list in main_list | filter:search" ui- sref="unit_page"> <td class="main-list-item">{{list.id}}</td> <td class="main-list-item">{{list.data}}</td> <td class="main-list-item">{{list.device}}</td> </tr> Как сделать что бы при клике на тег <TR> Мы попали перенеслись на unit_page и могли выбрать {{list.device}} {{list.data}} , соотвецвующие {{list.id}} (ид девайса на который мы кликнули.) |
ui-sref="unit_page({phone.id:list.id, date:list.data})", а на unit_page используешь эти данные
или в самой URI типа orders/phones/edit/{deviceId} (надо прописать в stateProvider). |
написал
<tr data-ng-repeat = "list in main_list | filter:search" ui-sref="unit_page({phone.id:list.id, date:list.data})">
<td class="main-list-item">{{list.id}}</td>
<td class="main-list-item">{{list.data}}</td>
<td class="main-list-item">{{list.device}}</td>
<td class="main-list-item">{{list.description}}</td>
<td class="main-list-item">{{list.state}}</td>
<td class="main-list-item">{{list.name}}</td>
<td class="main-list-item">{{list.lastname}}</td>
<td class="main-list-item">{{list.phone}}</td>
</tr>
на страничке unit_page :
<div ng-controller="listCtrl" >
<ul>
<li >{{phone.id}}</li>
</ul>
</div>
Ничего не выводит =( |
нужно заинклудить $stateParams в контроллер или директиву и: $stateParams.list.id
фидлер создай если не справляешься |
Спасибо за помощь , но у меня нефига не получается.
написал в контролере
/* Controllers */
var phonecatApp = angular.module('phonecatApp', []);
phonecatApp.controller('PhoneListCtrl', function($scope, $http, $stateParams) {
$http.get('phones/phones.json').success(function(data) {
$scope.phones = data;
});
$scope.orderProp = 'age';
});
не могу понять логику происходящего... Прикрепил свои наброски, буду рад помощи. https://www.dropbox.com/s/mygqthd3ri0chke/angularjs.zip |
var listCtrl = myapp.controller( 'listCtrl', ['$scope', '$rootScope', '$http', '$stateParams', function( $scope, $rootScope, $http, $stateParams){
$scope.params = $stateParams;
$http.get( 'json/main_list.json' ).success( function( data ) {
$scope.main_list = data;
}).error(function(data) {console.log( 'error main_list.json' )});
}]);
<div ng-controller="listCtrl" >
<ul>
<li>{{params.phoneId}}</li>
</ul>
</div>
<tr data-ng-repeat = "list in main_list | filter:search">
<td class="main-list-item">
<a ui-sref="unit_page({phoneId:list.id})">{{list.id}}</a>
</td>
Не понимаю, почему темплейт не видит $stateParams без привязки ко скоупу, но разбираться сейчас некогда. |
Еще вопрос, предположим я сделал фронтенжд часть, переходы между страничками осоществляется, вообщем визуально все есть. Данные беруться из json файлика. Как сделсть формирование этого json? запись в него изменение? Может стоит написать на пхп бэкенд чатсть, которая бы делала запись в базу изменение базы, формировала бы json на основе базы.
П.с. Я занимаюсь версткой, + раздичные эффекты. Сложный js и бэкенд для меня не повседневная работа, прошу не плюваться если что не так спросил. :) |
Русский неродной язык у тебя?
Да, для изменения данных и формирования новых наборов данных нужен backend. |
| Часовой пояс GMT +3, время: 00:29. |