Well, bi-directional data-bind is really easy. There is really minimum code needs to be written. But when you need to create a reusable directive (widget in Angular), it's hard to even find out where to start. You might need to write many lines of boilerplate configuration code that takes quite a while to learn and understand. In contrast, when you need to create a reusable widget in Backbone, you can just write a view class like any other view class. To be fair, it is in Angular team's plan to simplify directive development, so that it will be like writing just another controller.