我正在尝试让 Angular JS 与 Web 套接字一起工作,并且在从 Github 上的 Angular Web 套接字种子进行基本设置后,我仍然面临双向数据绑定的小问题。我正在使用像配置文件这样的文件来设置初始应用程序值,其中包含:
socket.emit('button:state', {
state: 'default'
});
然后我有一个控制器,它最初处理按钮的状态,然后尝试通过 Web 套接字重写初始状态:
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'];
视图只是在 Jade 中设置:
div(class='button', ng-class='buttonState', ng-click='buttonClicked()')
任何人都可以阐明一下吗?