2016-04-28 136 views
4

我有我的控制器作为“chatnow”并使用$ stateParams替换标题的$ scope.iid。但聊天消息在一个单独的变量中更新。我可以使用以下代码更新界面上的消息,但标题未打印。当我删除控制器名称打印而不是邮件。帮我解决我出错的地方。?离子视图标题[离子视图]

App.js:

.state('chatnow', { 
    url: '/chatnow/:jid', 
    templateUrl: 'templates/chatnow.html', 
    controller: 'ChatNow' 
}); 

Controller.js

.controller('ChatUserClick', function($rootScope, $scope, $stateParams, $ionicPopup, $state, SendMessage, SharedProperties, ChatMessageService, Profile) { 
    $scope.iid = $stateParams.jid; 
    $scope.userJid = $stateParams.jid; 
    var sharedData = SharedProperties.sharedObject; 
    var MC = this; 
    MC.list = ChatMessageService.getList($scope.curchatjid); 
}) 

Chat.html

<ion-view title="{{MC.iid}}" ng-controller="ChatNow as MC"> 
    <ion-content class="chat"> 
    <ion-list> 
     <li class="item chat-msg-wrap" ng-class="{'msg-send': todo.dt == 'send'}" ng-repeat="todo in MC.list track by $index"> 
     <div class="chat-msg">{{todo.msg}}</div> 
     </li> 
    </ion-list> 
    </ion-content> 
</ion-view> 

回答

3

这是因为你全光照带路由/状态配置的g ng-controller。从您的视图中删除ng-controller。当您使用ng-view指令时,请不要使用ng-controller。该控制器将状态设定中指定,你的情况:

.state('chatnow', { 
    url: '/chatnow/:jid', 
    templateUrl: 'templates/chatnow.html', 
    controller: 'ChatNow as MC' 
}); 

这个问题的答案已经在此被提及:https://stackoverflow.com/a/36881457/3878940

+0

感谢阿迪亚·辛格,我删除了NG-控制器和添加ControllerAs在App.js.,工作正常 – Anishnirmal