Angular Phoenix
Provides angular bindings to Phoenix so we can run events within the digest loop.
Dependancies
Installing
$ bower install --save angular-phoenix
How to use
This is incomplete and only allows for a single socket connection per client
First we need to set our socket base url and add a global dependency.
angular.module('myApp', ['angular-phoenix'])
Note: Phoenix when injected will be a instance of Phoenix.Socket
and will connect instantly unless
autoJoin
is false.
If not with autoJoin
: defaults will still apply to Socket.connect() however you can pass custom ones to override
Now were ready!!!
Joining a channel
You can only join a channel once, if you provide a new message it will leave then rejoin the channel.
Just like normal phoenix we call chan.join
however we also can take scope!
var chan = Phoenix // This callback will get removed on scope destructionchan // This will never be destroyedchnnchan chanpromise
Why add a promise?
For things like UI-Router this allows you to join into a channel as a resolve property!!
// In the controller { thischatChannel // Alternatively with no resolve var chan = Phoenix chan // This is the same as just passing in "ok" and a callback // Pass the current scope in so that when destroyed // the channel is left chan}
Accessing Phoenix
Phoenix.BasePhoenix
is the original phoenix instance.