My angelfish (I have 2 mated pairs) have been laying eggs regularly every 2 weeks or so. However, the eggs don't last beyond 2 days as they either fall off where they've been deposited or they've been eaten. So I went ahead and create a breeding slate with a protective mesh bag. Here's how I did it.
I picked up a tile slate from Lowes for $0.59. The color and finish didn't matter since I planned to paint it using PlastiDip (an aquarium-safe rubber coating). Before painting the slate, I drilled 2 holes into the top so I could hang it in the tank via some fishing line.
Once painted, I tied the fishing line to the holes and attached it to a black-bendy thing I used to hook the whole thing on one of edge of the tank (see the hook below).
My angelfish seemed to accept the slate almost immediately and their next batch of eggs were deposited on it. I then pulled a mesh bag over the slate and moved the slate to a place with better water flow in the hopes of reducing the fungus/bacteria on the eggs. You can see the final set up before the eggs hatched below.