0

こんにちは、Angular js プロジェクトのプロパティを解決しようとしています。以下は私がこれまでに行ったことです。

    .when('/wizard',{
    controller:'WizardController',
    templateUrl: 'partials/wizard.html',
    access: access.user,
    resolve: {
        categories: function ($http) {
                var cats=  ;
                var promise = $http({
                  method: 'GET',
                  url: '/categories',
                });
                promise.success(function(data){

                    console.log('Data successfully retrieved');

                    cats = data;
                });

                promise.error(function(){
                    console.log('Couldn\'t fetch categories' )
                });

                //categories =  
                //      [{"id":"1","category_name":"Testing"},
                //      {"id":"2","category_name":"Testing 2"},
                //      {"id":"3","category_name":"Testing 3"},
                //      {"id":"4","category_name":"Testing 4"}];
                return cats;



            }
        }

    })

ビューのカテゴリにアクセスしようとしています $scope.categories は、解決された挿入されたカテゴリと等しくなるように設定済みです

    <div class="pure-u-1-3">
                <label for="category">Project Category</label>
                  <select ng-model="project.category" ng-options="k as v for (k,v) in categories">
                  <option value="">-- Choose Category --</option>
                </select>
            </div>

私が間違っていることを理解できないようです!

4

1 に答える 1

1

解決オブジェクトのカテゴリ プロパティは、将来再割り当てされる配列を返す promise を返す必要があります。

カテゴリ メソッドは次のように記述します。

resolve {
   categories:function($http) {
     return $http({method: 'GET',url: '/categories'});
   }
}

次に、コントローラーでカテゴリの依存関係を取得します。

ロジックを見るとcats、http コールバックが完了した後に参照を再割り当てしていますが、返された参照は別のオブジェクトへのものです。

いずれにせよ約束を返したほうがいい

于 2013-10-01T17:34:03.827 に答える