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 (IMG:style_emoticons/default/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
 
Start new topic
Odpowiedzi
markuz
post
Post #2





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

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


Zmieniłeś $stateParams na $routeParams? Strasznie jesteś oporny na poprawianie kodu (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 3.10.2025 - 09:39