Item props in Notifications array is not observable. So, when you change it in MarkAsFlagged, ui is not updated. You should create own model for item with observable props:
function ItemModel(data) {
var self = this;
self.Name = ko.observable(data.Name);
self.Flagged = ko.observable(data.Flagged);
}
function ViewModel() {
var self = this;
self.Notifications = ko.observableArray();
self.loadNotifications = function() {
// loading data...
var itemModels = _.map(data, function (item) {
return new ItemModel(item);
});
ko.utils.arrayPushAll(self.Notifications(), itemModels);
}
}