1

Я пытаюсь сделать оболочку ввода с угловыми директивами, и она должна иметь разные метки. Теперь я даже не могу получить доступ к модели за пределами ввода (даже с областью действия: ложь).Угловая область действия. Как изолировать одну переменную

HTML:

<input-block data-label="my label"> 
    <input class="input-field" type="text" name="test" ng-model="test"/> 
</input-block> 

Test: {{test}} <!--not working--> 

Угловой:

profileApp.directive('inputBlock', function() { 
    return { 
     replace: true, 
     restrict: 'E', 
     transclude: true, 
     template: '' + 
     '<div class="input-block">' + 
      '<span class="input-text">{{label}}</span>' + 
      '<ng-transclude></ng-transclude>' + 
     '</div>', 
     link: function(scope, element, attrs) { 
      scope.label = attrs.label; 
     } 
    }; 
}); 

Единственная идея сейчас, чтобы найти способ, чтобы изолировать одну переменную или что-то подобное

+1

* всегда всегда всегда * использовать объект в нг-модели! – charlietfl

+0

@charlietfl это не звучит правильно. Что вы делаете для ''? – Phil

+0

не уверен, что вы имеете в виду @Phil – charlietfl

ответ

2

как уже здесь было сказано, просто используйте объект для вашего ng-model:

<body ng-init="model = {}"> 
    <input-block data-label="my label2"> 
    <input class="input-field" type="text" name="test" ng-model="model.test"/> 
    </input-block> 

    Test: {{model.test}} 
</body> 

plunker: http://plnkr.co/edit/XxeMlVv6I6qOwjPoCUtQ?p=preview

+0

Хорошо. Благодарю. А как насчет «метки»? http://plnkr.co/edit/ncr6QtZ4Diy2uTHYA7dF?p=preview – Undefitied

+0

Просто добавлена ​​область: true, и она работает. Спасибо за помощь. – Undefitied

Смежные вопросы