Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript]AngularJS ui-router problem
kamilo818
post
Post #1





Grupa: Zarejestrowani
Postów: 250
Pomógł: 11
Dołączył: 20.01.2014

Ostrzeżenie: (0%)
-----


Próbuje napisać stronę w oparciu o AngularJS

Po wejsciu na podstrone www.shop.pl#/shop podstrona shop wyświetla się poprawnie.
Na tej podstronie mam linki do kategorii np buty koszule.
Po kliknieciu w buty www.shop.pl#/shop/buty nastepuje filtrowanie danych i wyswietlane sa dane z kategorii buty.

Moj problem polega na tym że po bezpośrednim wejsciu na www.shop.pl#/shop/buty wyswietla się zawartość bez filtracji po 'buty'

Chciałbym żeby po wejsci na ten link parametr 'buty' został przekazany do funkcji która filtruje, ale nie moge dojść jak to zrobić.

kod wygląda tak:
main.js
  1. var myShopApp = angular.module('myShopApp' , ['ui.router']);
  2.  
  3. myShopApp.config(function($stateProvider, $urlRouterProvider) {
  4. $stateProvider
  5. .state('shop', {
  6. url: '/shop',
  7. templateUrl: 'pages/shop.php'
  8. })
  9. .state('shop.item',{
  10. url: '/:item',
  11. templateUrl: 'pages/shop.php',
  12. controller: function($scope, $stateParams) {
  13. $scope.item = $stateParams.item;
  14. }
  15.  
  16. })
  17. .state('promocje', {
  18. url: '/promocje',
  19. templateUrl: 'pages/promocje.php'
  20. })
  21.  
  22. myShopApp.controller("menuCtrl", function($scope) {
  23.  
  24. $scope.currentCategory = null;
  25. function setCurrentCategory(pos){
  26. $scope.currentCategory = pos;
  27.  
  28. }
  29.  
  30. $scope.setCurrentCategory = setCurrentCategory;
  31.  
  32. })
  33.  
  34. })


shop.php

  1. <categories ng-controller="menuCtrl">
  2. <category>
  3. <div ng-click="setCurrentCategory(null)">Wszystkie produkty</div>
  4.  
  5. <li ng-repeat="pos in categories" >
  6. <a ng-click="setCurrentCategory(pos)" ng-href="#/shop/{{pos.item}}" ng-class="{'active':isCurrentCategory(pos)}">{{pos.item}}</a>
  7. </li>
  8.  
  9. </category>
  10.  
  11. {{currentCategory.item}}
  12.  
  13. <box >
  14. <div ng-repeat="pos in products | filter:currentCategory.item">
  15. {{pos.name}} {{pos.opis}}
  16. </div>
  17. </box>
  18. </categories>


Mam nadzieje że jasno wyjasniłem o co mi chodzi smile.gif

wydawało mi się że dzięki temu
  1.  
  2. controller: function($scope, $stateParams) {
  3. $scope.item = $stateParams.item;
  4. }

będę miał odczytany parametr ale to chyba nie działa,albo nie potrafie sie do niego dostac.

Z góry dzięki za pomoc
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 14:31