This is considered a bad practice in angular. flatten will need to be evaluated on every digest. As the user opens more rows this will get expensive quickly.