Dog trainer here.
On-leash aggression isn’t rare. If you want to fix the problem with operant conditionning, you have to remove that which your dog finds is rewarding about the whole experience.
My advice would be to work obedience with your dog. Do it daily, outside in your driveway. Make your on-leash walk an obedience exercise. Require focus. Walk a block, do a sit/stay, walk away, come back, return to heel, keep going… that kind of thing.
Once you have THAT going, you may want to enlist the help of a friend with a non-leash-aggressive dog. Work your obedience routine. Let your friend come up nearby (3 m away at least) while you are working your dog through its routines. Its focus should be on you. If it sees the other dog and starts to pull in that direction, you say a sharp “NO” and walk away in the OTHER direction. Once you have focus back, try again. Don’t let your dog sit still while the other approaches. Get your friend and his/her dog to stay still (relatively) - that way the other dog isn’t “invading” your dog’s space or threatening to. BREAK ALL EYE CONTACT. Once you see your dog making eye contact with the other dog, turn around, walk the other way, or break the eye contact by taking your dog’s muzzle in your hand and moving its head away. If your dog insists on being a twit, give it the “Okay, fine then.” and walk back home. Don’t say a WORD. Let your dog be in the house, but pay NO attention to her. She doesn’t get rewarded for the behavior.
If your dog is walk-motivated, she will quickly learn that if you want to go out for a walk, you have to behave, because if you don’t, the fun thing (the walk) gets taken away.
Distracting with food works with some dogs, but not all. I much prefer the “walk-away” method. Jog, if you must, so that the dog follows you. When it does, reward the dog “Good pup! Yay! Let’s go.” and keep walking. Then try again. Don’t let it reward itself (growling, barking, lunging - it’s FUN to many dogs) by letting the other dog go by, or letting your dog walk by another dog. The sit/wait until the other dog walks by is usually disasterous because your dog is preparing to lunge and attack the dog that’s going to be invading his space. I much prefer working it as obedience. An obedience class may not hurt either, as your dog will work on leash with other dogs around her.
Just a few weeks ago, I got a leash-aggressive sheltie/border collie cross to defer to other leashed dogs. All we did was the walk-away/stern “no” with mild scruff-of-the-neck-grab correction. He learned quickly. Within a day, he was walking side by side with my dog, not even a growl out of him.
The key is going to be consistency. Dog being a twit? No walk. No play. Not even gonna talk to you. We’re going home. Dog being good? GOOD DOG! Have another treat, have a scritch, let’s GO!
Above all else, don’t bark back <g>. Walk away, talk briefly “No. We’re going home.” in a low, STERN voice, but not a loud voice. Don’t give your dog any time to continue being an idiot. It barks, you both walk away, and it has no choice but follow you. Walk at a brisk pace. It wants to pull in the other direction (looking over its shoulder)? Quick pop correction on collar, stern “Let’s go. HEEL.”, walk faster. She will follow.
Good luck, email me if you want more input…
Elly.