violino qui http://jsfiddle.net/prantikv/dJty6/36/Errore: Espressione 'undefined' utilizzato con direttiva è non cedibile
ho dati da JSON in questo modo
$scope.info={
"company1":"this",
"company2":"is",
"company3":"sparta"
}
Sto usando ng-repeat
per stampare tutti i dati e voglio monotor per le modifiche sui campi.
<input type="text" ng-repeat="item in info" value="{{item}}" monitor-change>
Ho una direttiva monitorChange come questo:
.directive('monitorChange', function() {
return {
restrict: 'A',
scope: {changedFlag: '='},
link: function(scope, element, attrs) {
var $el = angular.element(element);
$el.on('keyup', function() {//bind to element
scope.$apply(function() {
scope.changedFlag =true;//on key press value is changed
});
});
}
};
});
Quando si cerca di modificare i dati, ricevo l'errore Error: [$compile:nonassign] Expression 'undefined' used with directive 'monitorChange' is non-assignable!
sto stampando i dati a mio avviso con:
{{changedFlag }}
Cosa c'è di sbagliato nel codice?
È necessario inserire il messaggio di errore effettivo che si sta ricevendo. Aggiornerò la domanda con l'errore completo per te. – Claies
'scope: {changedFlag: '='},' ma non stai dichiarando in HTML alcun attributo 'changed-flag'. –