2016-04-04 27 views
1

私はVMを使用しようとしています。しかし時々それは働いているが、時々そうではない。

<div ng-controller="ProfileCtrl as profile"> 
    <div class="profile-box"> 
     <h4 class="m-b-0">{{ profile.name }}</h4> 
     <p class="text-muted"> {{profile.username }}</p> 
    </div> 
</div> 

私のコントローラ:ここ

は私のコードです

angular.module('app') 
.controller('profileCtrl', ['$scope', '$state', 'Profile', profileCtrl]); 

function profileCtrl($scope, $state, Profile) { 
    const vm = this; 
    Profile.get((resp)=> { 
     vm.profile = resp.user; 
    }); 
} 

は、どのように私はそれがvmを使用する作業することができますか?

ありがとうございました。

答えて

1

私はここで重要なラインがあると信じて:

vm.profile = resp.user; 

あなたのビューでこれを参照する適切な方法は、今のようになります。

{{profile.profile.name}} 

ProfileCtrl as profileから)最初profile参照して、コントローラと2番目のあなたのコントローラ内のprofileオブジェクト(vm.profile = resp.user;

3

変更<div ng-controller="ProfileCtrl as profile"><div ng-controller="ProfileCtrl as vm">のように表示されます。vm.profile.prop

+0

名前を変更するのは何ですか? – zeroflagL

関連する問題