Lottando per trovare il modo migliore per guardare per le modifiche degli attributi, che idealmente aggiornamento sulla base di un evento keypress, legato al campo di applicazione del controller genitoreangolare personalizzato valore di attributo cambiamento direttiva
Vorrei ogni 'istanza 'della direttiva di avere la propria proprietà' hasFocus 'da modificare aggiornando il valore dell'attributo es.
<menu has-focus="{{ true }}" ></menu>
<menu has-focus="{{ false }}" ></menu>
<menu has-focus="{{ false }}" ></menu>
modello:
<div class="menu">
<ul>
<li ng-repeat="option in menu.options" ng-class="{ 'focused' : hasFocus }" tabindex="{{ $index }}">
<div class="icon">{{ $index+1 }}</div>
</li>
</ul>
e in modo che solo 1 direttiva può avere il valore uguale a 'vero' in qualsiasi momento.
Ho una direttiva personalizzato
.directive('menu', function()
{
restrict : 'E',
templateUrl : 'partials/menu-left.html',
replace : true,
scope : {
hasFocus : '@'
},
link : function($scope, element, attrs)
{
attrs.$observe('hasFocus', function(value) {
console.log(value);
});
}
})
ma cant sembra per estrarre il valore del $ osservare metodo provato ad utilizzare $ orologio, ma ancora non ha funzionato non sicuro di quello che sto facendo male!
stai usando 'hasFocus: @' che prende il vero/falsi valori come stringhe. Devi prenderli come oggetti usando 'hasFocus:" = "' e 'has-focus =" true "' sull'HTML –
Grazie Omri - Questo è fantastico - ha funzionato perfettamente, si è confuso con le opzioni dell'isolato! – SteveP124