If your application needs to have data stored on a server - ie., on a MySQL database - then you will need some sort of library/framework on the server to access this data, and send it to your Angular app. Angular will 'contact' your server app when it needs to create/read/update/delete the data, and the data will be stored on the server.
If your application does not need to access dynamic, database-stored data - ie., if it will only be loading static html files and partials - then you may be able to get away with *only* using Angular.
OT: Codeigniter is just one of many PHP frameworks available, and you may want to look into other alternatives (which may be even easier) for handling your server-side data storage. If you are new to ORMs and database programming, it is specially worthwhile checking out RedBeanPHP (
http://redbeanphp.com): it automatically creates the database schema for you, as you need it, and can serve up your data already in JSON format.
I hope this helps.