This small module allows you to use Sails.JS's awesome socket.io api with AngularJS.
Just add a dependency to your module and controllers and get it going!
Install it:
bower install angular-sails
You must also include sails.io.js in order to use this.
For a more complex example, have a look at the tutorial by Maarten.
A small example:
var app = angular.module("MyApp", ['ngSails']);
//OPTIONAL! Set socket URL!
app.config(['$sailsProvider', function ($sailsProvider) {
$sailsProvider.url = 'http://foo.bar';
}]);
app.controller("FooController", function ($scope, $sails) {
$scope.bars = [];
(function () {
// Using .success() and .error()
$sails.get("/bars")
.success(function (data, status, headers, jwr) {
$scope.bars = data;
})
.error(function (data, status, headers, jwr) {
alert('Houston, we got a problem!');
});
// Using .then()
$sails.get("/bars")
.then(function(resp){
$scope.bars = resp.data;
}, function(resp){
alert('Houston, we got a problem!');
});
// Watching for updates
var barsHandler = $sails.on("bars", function (message) {
if (message.verb === "created") {
$scope.bars.push(message.data);
}
});
// Stop watching for updates
$scope.$on('$destroy', function() {
$sails.off('bars', barsHandler);
});
}());
});
Angular Sails wraps the native sails.js REST functions. For further information check out the sails docs and Mike's Screencast
The sails service is nothing more like the native socket.io object!