전달 된 문자열을 자르는 것처럼 범위가 지정된 변수를 변환하려고합니다. 하지만 전달 된대로 항상 표시됩니다. 여기 각도 1.x 지시문 범위
내 샘플 코드는
,export function testDirective() {
return {
restrict: 'E',
template: `<a>{{vm.testText}}</a>`,
scope: {
testText: '@'
},
controller: TestController,
controllerAs: 'vm',
bindToController: true
}
}
export class TestController {
testText: string;
constructor(private $scope: angular.IScope) {
// when getting variable, I need to transform the value
$scope.$watch(() => this.testText, (newVal: string) => {
this.testText = newVal.trim() + ' Edited'; // this doesn't affact
});
}
}
왜 그 코드가 작동하지 않습니다?
export function testDirective() {
return {
restrict: 'E',
template: `<a>{{vm.trimmedText}}</a>`,
scope: {
testText: '@'
},
controller: TestController,
controllerAs: 'vm',
bindToController: true
}
}
export class TestController {
testText: string;
trimmedText: string;
constructor(private $scope: angular.IScope) {
// when getting variable, I need to transform the value
$scope.$watch(() => this.testText, (newVal: string) => {
this.trimmedText = newVal.trim() + ' Edited'; // it works
});
}
}
나에게
@Expert는 ES2015/ES6과 함께 Angular 2가 따르는 현대적인 구성 요소 기반 아키텍처를 사용하는 것처럼 보이므로 Angular 2 패턴을 각도로 사용하여 배우려고합니다. 1 오늘과 예를 들어 이 코스는 주말 동안 무료로 사용하기 때문에 앵귤러 2 패턴을 사용합니다. https://egghead.io/courses/using-angular-2-patterns-in-angular-1-x-apps :) –
감사합니다. 답변 및 코멘트, 그래서 '='를 사용하려면 문자열이 아닌 객체를 전달해야합니다! –