2016-04-30 6 views
0

ng-viewの内側にjsonテキストを呼び出すことに悩まされています。通常のHTMLで{{profile.experience}}これは完璧に動作します。 jsonからデータを取得します。 しかし、私はng-viewを追加していますので、{{profile.experience}}はjsonからデータを取得できません。Angularjs ng-view内のJSONコンテンツ

<div class="profile-snapshot">       
    <ul> 
     <li><span>Experience:</span><p> {{profile.experience}}</p></li> 
     <li><span>Education:</span><p> {{profile.education}}</p></li> 
     <li><span>Designation:</span><p>{{profile.designation}}</p></li> 
     <li><span>Age:</span><p>32</p></li> 
     <li><span>City:</span><p>Thane</p></li>        
    </ul> 
</div> 

これは何を私のJSONは、これは私のangularjsコードは誰でもNG-ビュー内のJSONデータをフェッチで私を助けてくださいすることができます

var accord = angular.module('accord', []); 
var profileLoad = angular.module('profileLoad',[]); 
var app2 = angular.module('main-app', ['accord','profileLoad','ngRoute']); 

profileLoad.controller('profileCntrl', function($scope, $http){ 
'use strict'; 
$http.get('candidateProfile.json').success(function(data) { 
     $scope.profile = data; 
    }); 
}); 


app2.config(function($routeProvider) { 
$routeProvider 
    .when('/home', { 
     templateUrl: 'profile.html', 
     controller: 'StudentController' 
    }) 
    .when('/viewStudents', { 
     templateUrl: 'profile-edit.html', 
     controller: 'StudentController' 
    }) 
    .otherwise({ 
     redirectTo: '/home' 
    }); 
}); 

のように見えるものである

{ 
"experience": "Experience 8 Years asda s", 
"education": "MBA, B.COM", 
"designation": "UX Designer, Front End Developer" 
} 

のように見えますか?

+0

あなたは '$スコープを持つデータを更新し、角度伝えてみてください。$()' 'SUCCESS'ブロックの内側に適用されます。 –

+0

詳細を教えてください。 –

+0

'$ scope.apply()'は、モデルの更新が発生し、そのスコープにバインドされたビューを更新する必要があることをangleに伝えます。 '$ scope.profile'を更新した後、あなたの' success'関数で '$ scope。$ apply()'を呼び出してみてください。 –

答えて

1

私は既にコントローラを適用していたので、私がする必要があったのは、コントローラを削除することだけでした: 'StudentController'

それは私にとって問題を解決しました。

ここのメンバーからの返信を本当に感謝しています。

乾杯のみんな

2

私は何かが欠けていない限り、私は

profileLoad.controller('profileCntrl', function($scope, $http){ ... } 

あなたは$routeProviderにテンプレートにマッピングされていないコントローラにデータを取得している

profileLoad.controller('StudentController', function($scope, $http){ ... } 

されるべきだと思います。

また、$http.getをサービスに入れ、そのサービスをコントローラに注入する必要があります。あなたの懸念を分け、コントローラーを傾けてください。

+0

運がありません。サービスの理解が少し弱いです。 –

+0

any1これでお手伝いできますか? –

関連する問題