Ho una direttiva che crea un campo di input. Devo impostare l'attributo ng-model di questo campo di input sul valore di una variabile $ rootScope . La ragione di ciò è che voglio che il campo di input sia nel layout e che si colleghi a modelli diversi a seconda della pagina caricata. Ho pensato di impostare questa variabile globale in ogni controller e accedervi nella direttiva.
ATM la variabile è programmato
App.run(function($rootScope){
$rootScope.mymodel = 'search.name';
})
E direttiva
Directives.directive('inputFilter', function(){
return{
restrict: 'E',
replace:true,
controller: function($scope, $rootScope){
console.log($scope.mymodel);
console.log($rootScope.mymodel)
},
template: '<input class="filter" type="text" ng-model="mymodel" placeholder="Nach filtern">'
}
});
Essa viene reso come
<input class="filter ng-pristine ng-valid" type="text" ng-model="mymodel" placeholder="Filter">
e il testo all'interno del campo di ingresso è il valore di MyModel variabile. Il file console.log mostra
search.name
search.name
Qualcuno potrebbe per favore fare luce su questo problema?
potrebbe anche dare un'occhiata a riferimento $ radici nel modello che contiene un riferimento a $ rootScope nelle direttive che hanno il loro campo di applicazione. Vedi - http://stackoverflow.com/questions/22216441/quello-è-la-differenza-tra-scope-root-and-rootscope – cchamberlain