2013-03-20 3 views
2

Я пытаюсь выполнить добавление директивы contenteditable I foud на веб-сайте angularjs (http://docs.angularjs.org/guide/concepts#directives).Параметры функции связи в директиве в angularjs

Моя проблема заключается в том, что если я изменю значение внутри содержащего контент div внутри моего контроллера, значение области будет обновлено, но значение в div не будет. Я хотел бы быть в состоянии сделать что-то подобное в моем главном контроллере:

$scope.content = $scope.content.concat("added text"); 

Это обновленный $ scope.content но не обновляет contenteditable DIV. Итак, если я нажму в div, чтобы изменить его, моя модификация исчезла.

Чтобы заставить его работать, мне пришлось бы вызывать ctrl. $ Render от моего контроллера, но я не могу найти документацию о том, что является этим 4-м параметром функции ссылки.

Кто-нибудь есть идея, что этот параметр «Ctrl» представляет, и если в результате изменения некоторые знают, как решить мою проблему :)

+1

4-й параметр - это контроллер, указанный в параметре 'require'. В этом случае 'ctrl' является экземпляром ngModelController. –

+1

[Страница форм] (http://docs.angularjs.org/guide/forms) и страница [NgModelController] (http://docs.angularjs.org/api/ng.directive:ngModel.NgModelController) имеют контент-доступность примеры, но не страницы директив. На какой странице вы смотрите? –

+0

Я использую одну страницу форм, за исключением того, что удалил строку «ctrl. $ SetViewValue (elm.html()); который я заменил ctrl. $ render(). – Olivier

ответ

1

На момент написания (3/20/2013), есть две проблемы, связанные с Плункер от forms page:

  1. недостающий form-example.
    HTML должно быть: <html ng-app="form-example2">
  2. contentEditable должно быть contenteditable.
    HTML должен быть: <div contenteditable ng-model="content">Some content</div>

Plunker со ссылкой для добавления к $scope.content в контроллере.