Если я использую $ сферы, эта директива работает отлично:Как получить доступ к изолированной области «this» в угловой директиве?
function alertBox(){
return {
template:
'<div ng-show="alert" class="alert alert-{{alert.type}}" style="text-align: center;">\
<a href="#" class="close" data-dismiss="alert" aria-label="close" title="close">x</a>\
<span ng-bind-html="alert.message | safe_html"></span>\
</div>'
}
}
Оповещение определяется в мой контроллер, как:
$scope.alert = {message: 'test!', type: 'danger'};
И мой простой вид:
<div alert-box></div>
Однако, Я не использую $ scope, и вместо этого вызывается мое предупреждение с использованием этого «:»:
this.alert = {message: 'test!', type: 'danger'};
Но независимо от того, что я пытаюсь, я не могу понять, как ввести значение «this» в директиву.
В идеале я бы мог ссылаться на «self.alert» или что-то в этом роде, так что мне не нужно определять контекст видимости как атрибут, но, предполагая, что я это делаю, я пробовал варианты этого безрезультатно :
function alertBox(){
return {
scope: {
scope: '=scope'
},
template: '<div ng-show="' + scope + '.alert" class="alert alert-' + scope + '.type" style="text-align: center;"><a href="#" class="close" data-dismiss="alert" aria-label="close" title="close">x</a> <span ng-bind-html="' + scope + '.message | safe_html"></span></div>'
}
}
И мой HTML:
<div alert-box scope="welcome"></div>
В этом примере я получил 'WelcomeController as welcome'
определен.
Любая помощь приветствуется.
Вы можете разместить рабочую версию пример кода с проблемой, где-то вроде фрагментов StackOverflow, Plunker, JSFiddle? –
Конечно, если я не получу быстрый ответ, я продолжу рабочий пример. Похоже, что это простой вопрос, нет? –
@FloydPink вот скрипка, показывающая, что я пытаюсь выполнить: http://jsfiddle.net/jgentes/s58chtsv/1/ –