我在离子和角度工作。 我想在控制器中设置变量并在视图中使用它们。我正在使用cookie来保存当前登录的用户信息。 这是控制器代码:
.controller('profileCtrl',['$http','$scope',
'fileUpload','$cookies','$cookieStore','$window',
function($http, $scope, fileUpload,$cookies,$cookieStore,$window) {
$scope.CurrentUser = $cookieStore.get('CurrentUserInfo');<br/>
$scope.CurrentUserFullname = $scope.CurrentUser.User.fullname;<br/>
console.log($scope.CurrentUserFullname); **// working. Suppose name is Simerjit
}])
现在查看profile.html。我想显示名字。我用这个:
<h1>{{CurrentUserFullname}}</h1>
//无法正常工作
任何人都请帮忙。我是Ionic和angularjs的新人。
答案 0 :(得分:0)
您需要为profile.html定义控制器,例如<div ng-controller="profileCtrl">
答案 1 :(得分:0)
我检查了代码。这是正确的,但您需要检查全名的值
$ cookieStore.get( 'CurrentUserInfo');
可能全名没有任何价值。
我在离子方面做了很多项目你正在做正确的方式。
答案 2 :(得分:0)
如果您将用户数据直接存储在cookie中,则不需要它。 $scope.CurrentUser.user.fullname
你可以直接使用它。
$scope.CurrentUserFullname = $scope.CurrentUser.fullname;
答案 3 :(得分:0)
如果您的数据绑定无法正常工作,请尝试在视图加载之前使用$route resolve
将数据导入控制器。
在$ route config中,
$routeProvider
.when("/profile", {
templateUrl: "profile.html",
controller: "profileCtrl",
resolve: {
CurrentUser: function($cookieStore){
return $cookieStore.get('CurrentUserInfo');
}
}})
并在Controller中注入CurrentUser
.controller('profileCtrl',['$http','$scope','CurrentUser' fileUpload','$cookies','$cookieStore','$window', function($http, $scope,CurrentUser,fileUpload,$cookies,$cookieStore,$window) {
$scope.CurrentUser = CurrentUser;
$scope.CurrentUserFullname = CurrentUser.User.fullname;
console.log($scope.CurrentUserFullname); }])
了解有关解决link
的更多信息快乐的编码......
答案 4 :(得分:-3)
控制器不应该知道应用程序的状态。 您应该阅读有关角度规则和最佳实践的信息: https://github.com/johnpapa/angular-styleguide