Передать атрибут ng-model в пользовательскую директиву

Итак, у меня есть форма, где мне нужно использовать пользовательскую директиву. Что мне нужно: передать user модель к директиве.

<form>
    <input type="text" ng-model="user.login">
    <input type="password" ng-model="user.password">

    <span ng-custom-directive ng-model="user.testfield"></span>

</form>

Директива шаблона выглядит так:

<span><input type="checkbox" ng-model="[HERE I NEED user.testfield TO WORK WITH user]"> </span>

Как я могу передать user модель к директиве шаблона?

После отправки формы мне нужно user.testfield быть доступным в $scope.user лайк:

console.log($scope.user)
{
    login: 'test',
    password: 'test',
    testfield: true|false
}

2 ответа

Решение

Вы можете решить это другим способом.

Вкратце:

scope: {
    bindedModel: "=ngModel"
},
template: '<input type="text" ng-model="bindedModel">'

Ну, я нашел похожий вопрос и решил свою проблему следующим образом:

angular.module("myApp")
  .directive "ngCustomDirective", () ->
      restrict: 'A',

      scope:
        field: '@',
        model: '='

      template: '<span><input type="checkbox" ng-model="model[field]"></span>'

И директива использования будет:

<span ng-custom-directive
       ng-bind-model="user"
       ng-bind-field="testfield">
</span>
Другие вопросы по тегам