Я пытаюсь заставить Angular JS работать с веб-сокетами, а после получения базовой установки из семян растрового веб-сайта на Github, я все еще сталкиваюсь с небольшой проблемой с привязкой двухсторонней привязки. Я использую файл как конфигурационный файл, чтобы установить начальные значения приложения, который содержит следующее:Угловые JS и веб-гнезда
socket.emit('button:state', {
state: 'default'
});
Тогда я контроллер, который имеет дело с состоянием кнопки на начальном этапе, а затем пытается переписать исходное состояние через веб-сокет:
function MyCtrl1($scope, socket) {
// UI INITIAL STATE
socket.on('button:state', function (data) {
$scope.buttonState = data.state;
});
// UI CLICKED STATE
$scope.buttonClicked = function(data) {
//$scope.buttonState = 'clicked';
socket.emit('button:state', {
state: 'clicked'
});
console.log('button clicked');
};
}
MyCtrl1.$inject = ['$scope', 'socket'];
вид просто установить в Джейд:
div(class='button', ng-class='buttonState', ng-click='buttonClicked()')
Может кто-нибудь пролить некоторый свет, пожалуйста?
Здесь нет ничего очевидного. Я часто нахожу, что устанавливаю значение по умолчанию перед любым другим чем-то вроде '$ scope.buttonState = ''' или полезно инициализировать, а также отслеживать переменные, которые я использую для состояния. Можете ли вы опубликовать результаты работы Jade? –