2016-07-01 9 views
1

私は約1週間ほどでこれに固執しています。私は "TodoDetailController"で自分のtodo_idを解決してから、サービスを使ってtodoの詳細を取得します。しかし、コントローラは期待どおりに動作していません。 $ scopeのシンプルなデータを私の見解に反映させないで、$ rootscopeのデータは反映されていますが、私はどこにでも$ rootscopeを使いたくありません。

誰かが私の質問を解決できますか?ここで

はgithubのプロジェクトhttps://github.com/udayghulaxe/ticitic_todo

これはこれは私が$の後に、これまで


 

 
/************* My states config ************************/ 
 
    
 

 
.state('dashboard', { 
 
    \t \t \t url: '/dashboard', 
 
    \t \t \t abstract: true, 
 
     \t \t \t views: { 
 
       '': { templateUrl: './partials/main.html'}, 
 
       '[email protected]': { templateUrl: './views/header_toolbar.html' }, 
 
       '[email protected]': { templateUrl: './views/sidenav.html' }, 
 
       '[email protected]': { templateUrl: './views/widgets.html'}, 
 
       '[email protected]': { templateUrl: './views/todo_detail.html' } 
 

 
       \t } 
 
    \t \t }) 
 

 
    \t \t .state('dashboard.listdetail', { 
 
    \t \t \t url: '/lists/:list_id/', 
 
    \t \t \t templateUrl: './partials/list.detail.html', 
 
    \t \t \t controller:'ListController', 
 
    \t \t \t resolve: { 
 
    \t \t \t    list_id: function($stateParams){ 
 
    \t \t \t     return $stateParams.list_id; 
 
    \t \t \t    } 
 
    \t \t \t   }, 
 
    \t \t \t data: { 
 
    \t \t \t \t authorizedRoles: [USER_ROLES.user], 
 
    \t \t \t \t pageTitle: 'Lists' 
 
    \t \t \t } 
 
    \t \t }) 
 

 
    \t \t .state('dashboard.tododetail', { 
 
    \t \t url: '/lists/:list_id/:todo_id', 
 
    \t \t templateUrl: './partials/list.detail.html', 
 
    \t \t controller:'TodoDetailController', 
 
    \t \t resolve: { 
 
    \t \t   list_id: function($stateParams){ 
 
    \t \t   \t //console.log($stateParams); 
 
    \t \t    return $stateParams.list_id; 
 
    \t \t   }, 
 
    \t \t   todo_id: function($stateParams){ 
 
    \t \t   \t //console.log($stateParams); 
 
    \t \t    return $stateParams.todo_id; 
 
    \t \t   } 
 
    \t \t  } 
 
    \t \t }) 
 

 
/**************** My conrtoller *******************/ 
 

 
    
 

 
app.controller("TodoDetailController",['$rootScope','$scope','$state', '$q', 'UserService', '$window','AuthService','DataService','AUTH_EVENTS','list_id','$mdSidenav','todo_id', 
 
    function($rootScope,$scope, $state, $q, UserService, $window, AuthService, DataService,AUTH_EVENTS,list_id,$mdSidenav,todo_id) 
 
{ 
 
    /********* This data is not relecting at all **********/ 
 
    $scope.list_id = list_id.toString(); 
 
    $scope.current_list = UserService.GetTodoBylistid($rootScope.lists, $scope.list_id); 
 
    $scope.value = 'Not refelcting in view'; 
 
    
 
    /**************** This is updating in view ***************************/ 
 
$rootScope.value2 = 'refelcting in view'; 
 

 
    $scope.$watch(todo_id, function() { 
 
     $rootScope.todo_id = todo_id; 
 
    }, true); 
 
     toggleSidenav('right'); 
 
    }; 
 

 

 
}]);

答えて

0

を注入$のrootscopeを行っているものですtodo app

プロジェクト構造でありますこのようなスコープ

app.controller("TodoDetailController",['$scope','$state','$rootScope', '$q', 'UserService', '$window','AuthService','DataService','AUTH_EVENTS','list_id','$mdSidenav','todo_id', 
    function($scope, $state, $rootScope, $q, UserService, $window, AuthService, DataService,AUTH_EVENTS,list_id,$mdSidenav,todo_id) 
]); 
+0

それはまったく動作しません –

+0

$ scope.list_idの代わりに$ scope.listIdsのような別の名前規則を使用してください。それが機能するかどうか確認してください。 – Garima

関連する問題