Habe meine Richtlinie, wie dieAngularJS beobachten können nicht Eingangsbereich ng-Modell ändert
<input type="range" min="10" max="100" ng-model="svgConfig.textConfig.fontSize" />
In meinem Controller ich wie
$scope.svgConfig = {
text:'',
textConfig: {
fontSize: 20
},
rectConfig: []
};
Der Versuch, Änderungen Objekt bekam erkennen hier, um in Verbindung zu fangen Richtlinie, aber nichts passiert.
var setDomBindings = function($scope, $element, $attrs){
$scope.$watch('svgConfig.textConfig.fontSize', function() {
var domText = $element.find('text'),
textExample = domText.last()[0],
dataText = $scope.svgConfig.text;
debugger; //haven't even been reached!
if($.isEmptyObject(textExample) && domText.length === 0 && dataText === 0){
$scope.clearSvgRectConfig();
return;
}
$scope.setSvgRectConfig(textExample, domText.length);
});
};
/*
* Retruns initialized DOM element
*/
return {
restrict: 'E',
templateUrl: './app/shared/imageTextEditor/imageTxtSvgView.html',
controller: 'imageTxtSvgController',
transclude: true,
link: setDomBindings
};
Ihre Bindung ist auf 'svgConfig.textConfig.fontSize' aber Ihre Uhr ist auf' svgConfig.fontSize'. Ist das ein Tippfehler oder eine schlechte Übersetzung Ihres Codes in den Fragenkörper? – Claies
@Claies typo, sorry – DanilGholtsman
ok, jetzt, da das aufgeklärt ist, hat deine '$ watch' eine seltsame syntax, und du scheinst' $ element' zu verwenden, was keine angular aware Funktion ist. – Claies