Nitroglycerin is a vasodilator which means that it makes the coronary and all other arteries expand. This increases blood flow to the muscle of the heart which relieves angina. Decreased blood flow to the heart muscle, due to blockages or coronary artery spasms, cause angina.
Vicodin is not a vasodilator but it may make you feel so much better mentally that your mind will not dwell on the angina or chest pain. I had really bad angina after receiving 2 stents one time. In the recovery room I was given IV morphine, but it did not help my angina. My BP was so low they could not give me anymore nitro for a short while. As soon as I got the nitro again the angina stopped. Morphine is supposedly good for the heart when it is acting up while you are in the hospital and after a procedure.
Angina relieved or not relieved by nitroglycerin is something to worry about

Heart disease patients are not prescribed narcotic pain relievers by cardiologist, I can tell you that, unless the patient is being cared for by Hospice. I have had vicodin or lortab prescribed for me while in the hospital due to the headache caused by lots of nitro (by a cardiologist), or some other ailment such as a backache since I have osteoarthritis.
Nitroglycerin can stop a heart attack from occuring, while relieving angina at the same time. Vicodin can make you feel better while dying