ngModel передал через оболочку директиве child

0

Предположим, у нас есть одна дочерняя директива <child/>, которая принимает ng-model и ng-change и выполняет некоторые действия с ними. И у нас есть два типа оберток <w1/> и <w2/>, которые содержат <child/>.

  • W1 должен передать ng-модель напрямую через <child/>
  • W2 должен передать некоторый внутренний объект в качестве модели для <child/>

в первом случае я буду использовать require: '^ngModel' во втором: require: 'ngModel' но мне нужно, чтобы они работали одновременно

Теги:
angular-ngmodel
angularjs-directive

1 ответ

0
Лучший ответ

поэтому модель представляет собой простой объект, который легко переносится.

<wrapper ng-model="foo"></wrapper>

Упаковочный:

module
.directive('wrapper', function () {
    return {
        restrict: 'E',
        template: "<child ng-model='ngModel'></child>",
        scope: {
            ngModel:'='
        },
        link: function ($scope) {
        }
    };
});

Ребенок:

module
    .directive('child', function () {
        return {
            restrict: 'E',
            require: 'ngModel',
            template: "<div>some wierd stuff</div>",
            scope: {
            },
            link: function ($scope, iElem, iAttr, ngModel) {
                var a = ngModel.$viewValue;
            }
        };
    });

Ещё вопросы

Сообщество Overcoder
Наверх
Меню