Как сделать двустороннее связывание в Ag-grid - PullRequest
2 голосов
/ 26 апреля 2019

Возможно ли сделать двустороннее связывание в чистом Javascript?

Я пытаюсь выполнить двустороннюю привязку данных в ag-grid, и в настоящее время я отображаю данные только с помощью флажка и без привязки:

columnDefs: [
   {headerName: "HeaderA",field: "fieldA", width: 150, editable: true,
    cellRenderer: params => {
        return `<input type='checkbox' ${params.value == 'Y' ? 'checked' : ''} />`
    }
   }
]

Я хотел бы сделать двустороннюю привязку данных для этого флажка, чтобы, установив флажок, я также изменил значение ячейки.

На данный момент моя сетка очень похожа на этот плункер: https://plnkr.co/edit/cV5wFLY4nnyQgVIcnGrF?p=preview

[Вы можете установить флажок, но если дважды щелкнуть саму ячейку, чтобы увидеть значение ячейки, вы увидите, что значение ячейки не изменилось]

Буду очень признателен за любую помощь / совет!

1 Ответ

1 голос
/ 26 апреля 2019

РЕДАКТИРОВАТЬ: вопрос больше не ссылается на AngularJS, но этот ответ все еще делает.

Да, это возможно.AngularJS использует ванильный Javascript для достижения двусторонних привязок, поэтому нам не нужно.

Однако, если вы используете инфраструктуру AngularJS, вам, вероятно, следует использовать инструменты, которые она уже предлагает.

Если вы хотите выполнить связывание без использования встроенных директив, например, ng-model, ng-bind и {{}}, рассмотрите $scope.$watch и $scope.$watchCollection, эти методы AngularJS - это то, что встроенные AngularJSдирективы используют для установки привязки.

Если вы используете компоненты, используйте $onChanges или $doCheck.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...