Sounds like the job for a directive:
.directive('myCheckbox', function() {
return{
restrict: 'E',
template: '<div class="col-md-4"> \
<label class="checkbox-inline btn col-md-12" ng-class="{active : isChecked}"> \
<input type="checkbox" id="inlineCheckbox1" value="option1" ng-model="isChecked" />{{text}} \
</label> \
</div>',
replace: true,
scope: {
text: '@'
}
};
})
View:
<my-checkbox text='Clothes'></my-checkbox>
<my-checkbox text='Cars'></my-checkbox>
<my-checkbox text='Music'></my-checkbox>