Я пытаюсь написать простую директиву, которая позволяет пользователю редактировать определенную переменную, но когда я пытаюсь обновить родительскую переменную, она не работает.Директива Angularjs с двунаправленной привязкой не работает
это мой HTML:
<p class="scene-field-name editable-name" editable="foo"> {{foo}} </p>
и директива:
myApp.directive('editable', function ($window, $compile) {
return {
restrict: "A",
template: '<div class="editable-value" ng-hide="editorOn">{{value}} <a class="edit-a" ng-click="editorOn = true">edit</a></div>' +
'<div class="editable-editor" ng-show="editorOn">' +
'<input type="text" value="{{tmpValue}}" />' +
'<a ng-click="setValue()">OK</a>' +
'</div>',
scope: {
value: "=editable"
},
controller: function($scope) {
$scope.tmpValue = $scope.value;
$scope.editorOn = false;
$scope.setValue = function() {
$scope.value = $scope.tmpValue;
$scope.editorOn = false;
}
}
};
здесь в jsfiddle: http://jsfiddle.net/4srx2z0c/2/
вы можете увидеть, что при нажатии кнопки ОК это не сохранить значение обратно в родительском пространстве ...
Конечно ... спасибо! –