i ont décrit mes états commecomposants angulaires non rafraîchissants sur le changement d'itinéraire (en routeur ui)
`.state('community.messaging', {
template: '<ui-view></ui-view>',
url: '/messaging',
abstract: true
})
.state('community.messaging.user', {
url: '/user/:userId',
component: 'messagingComponent',
})`
et quand j'utilise state.go $ (« community.messaging.user ») il ouvre ce composant , mais après avoir changé un autre état en arrière ou aller à l'état "community.messaging.user" il n'efface pas les valeurs précédentes dans ce contrôleur de composant que j'ai initialisé avant. mon composant est comme ce
import messagingController from "./messaging.controller.js";
export const messagingComponent = 'messagingComponent';
export const messagingComponentOptions = {
templateUrl: './src/app/components/messaging/messaging.html',
controller: ['$scope', '$localStorage', '$rootScope', '$transitions', '$timeout', '$cookies', '$state', '$stateParams', 'communityApi', messagingController],
controllerAs: 'ctrl'}
et contoller est comme
function messagingController($scope, $localStorage, $rootScope, $sanitize, $transitions, $cookies, $state, $stateParams, communityApi) {
const self = this;
self.currentSelectedChatUser = {
id: $stateParams.userId,
room: ''
};
self.message = '';
self.chatData = [];
socket.on('connect', function() {
socket.emit('initiate', $stateParams.userId)
socket.on('privateRoomCreated', function (data) {
if(`self.currentSelectedChatUser.room == ""`) {
self.currentSelectedChatUser.room = data.room;
}
});
)}
}
première fois quand je vais cet état self.currentSelectedChatUser.room == ""
mais quand je suis venu à nouveau d'autres état dans lequel il montre self.currentSelectedChatUser.room == "someroomid"
si la déclaration, mais il devrait être self.currentSelectedChatUser.room == ""
; et si le navigateur de rechargement est défini sur self.currentSelectedChatUser.room == ""