我尝试使用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
?
感谢。
答案 0 :(得分:3)
将<div ng-controller="ProfileCtrl as profile">
更改为<div ng-controller="ProfileCtrl as vm">
并在vm.profile.prop
答案 1 :(得分:1)
我相信这里的关键是:
vm.profile = resp.user;
在您的视图中引用此方法的正确方法现在是:
{{profile.profile.name}}
第一个profile
引用您的控制器(来自ProfileCtrl as profile
),第二个引用该控制器中的profile
对象(来自vm.profile = resp.user;
)