在视角angularjs ionic中使用控制器变量

时间:2016-04-02 07:34:19

标签: angularjs variables ionic-framework

我在离子和角度工作。 我想在控制器中设置变量并在视图中使用它们。我正在使用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的新人。

5 个答案:

答案 0 :(得分:0)

您需要为profile.html定义控制器,例如<div ng-controller="profileCtrl">

答案 1 :(得分:0)

我检查了代码。这是正确的,但您需要检查全名的值

$ cookieStore.get( 'CurrentUserInfo');

可能全名没有任何价值。

我在离子方面做了很多项目你正在做正确的方式。

{{CurrentUserFullname}}

答案 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