Я хочу создать директиву в качестве атрибута, где я хочу присоединить автосохранение к другим директивам. Я подумал о создании директивы, которая передает часы на атрибут (модель). Функция debounce от lodash и предотвращает выполнение при каждом нажатии клавиши. Метод put - это результирующая модель.Создание директивы autosave в angularjs
Моя идея до сих пор
angular.module('myApp.directives', []).directive('autosave',[ function() {
'use strict';
function autosaveController($scope) {
function saveModel(newModel, oldModel) {
if(newModel !== oldModel && newModel.put) {
$scope.model.put();
}
}
$scope.$watch($scope.model, _.debounce(saveModel, 5000), true);
}
return {
restrict : 'A',
controller: ['$scope', function($scope) {
return autosaveController($scope);
}],
scope : {
model : '='
}
};
}]);
Но я не получил эту работу, то я думал, что, возможно, я лучше сделать это в моей restangular модели, но я нету получил сферу там. Как добавить эту функцию автосохранения правильно? Мне нужно определить, какой объект в области будет просматриваться, и прикрепить к нему часы, чтобы я получал обновления об изменениях.
Edit: Создано plunker показывает идею:
http://plnkr.co/edit/I8GK8zHV8fOXY0zMa1AL?p=preview
Я попытался установить рамки на обеих директив и получил сообщение об ошибке, что не допускается. (что-то вроде двух изолированных областей не допускается)
Могу ли я создать изолированную область действия в директиве атрибута?
В принципе мне нужно пройти в модели с директивой автосохранения
1. Вы можете создать plunkr, который показывает, что это не работает? Изменить: 2. Является ли первый параметр функцией $ watch функцией либо быть строкой, где выражение равно $ eval-uated или функции? –
создал плункер, может быть, его только маленькая вещь – pfried