$scope.svgConfig = {
text:'',
textConfig: {
fontSize: 20
},
rectConfig: []
};
가 링크, 여기에 변화를 잡으려고 노력 같은 개체를 가지고 내 컨트롤러에서 그
<input type="range" min="10" max="100" ng-model="svgConfig.textConfig.fontSize" />
처럼 내 지시를 얻었다 변경 감지 할 수없는 시계 그러나 아무 일도 일어나지 않습니다.
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
};
바인딩이'svgConfig.textConfig.fontSize'에 있지만 시계가'svgConfig.fontSize'에 있습니다. 이것은 오타이거나 질문 본문에 코드를 잘못 번역 한 것입니까? – Claies
@Claies typo, 죄송합니다. – DanilGholtsman
이제 알았습니다. '$ watch'는 이상한 구문을 가지고 있으며, 각도 인식 기능이 아닌'$ element'를 사용하고있는 것으로 보입니다. – Claies