With a simple array as input data

Pros
simple data structure and toggling by name is easy to handle
Cons
add/remove is cumbersome as two lists (the input and selection) have to be managed

selectables

Toggling by name is easy in this case, because the needed helper method can be reused.

selection

{{selection|json}}

input

{{fruits|json}}

With an object array as input data

Pros
add/remove is very easy
Cons
somewhat more complex data structure and toggling by name is cumbersome or requires a helper method

selectables

Toggling by name is not so easy in this case, because the the code is either rather ugly, or a helper method is needed.

selection as simple array using $watch

{{selection|json}}

selection as simple array using a custom filter

{{fruits|fruitSelection:'name'|json}}

selection using the default filter

{{fruits|filter:{selected:true}|json}}

selection using a helper function

{{selectedFruits()|json}}

input

{{fruits|json}}