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');
};
}]);
それはまったく動作しません –
$ scope.list_idの代わりに$ scope.listIdsのような別の名前規則を使用してください。それが機能するかどうか確認してください。 – Garima