왜 $ scope.orderBy가 정의되지 않습니까? "테스트"중이십니까?각도 js 범위 속성이 정의되지 않았습니다.
var app = angular.module("Foo", []);
app.directive("two", function() {
return {
scope: {
orderBy: '@'
},
restrict: 'E',
transclude: true,
controller: function ($scope, $element, $attrs) {
console.log($scope.orderBy); // is undefined, why?
},
template: '<div></div>',
replace: true
};
});
<div ng-app="Foo">
<two order-by="test">test</two>
</div>
음,하지만 사용하는 '='는 양방향, 내가 로컬 범위에서만 사용 할 수 있습니다 :
그래서이 작업을 수행합니다. – user2071301
"왜"당신의 질문에 대답하고있었습니다. 원본을 수정하지 않으려면 값을 새 변수에 복사 할 수 있습니다. 우리가'test'를 변수로 사용한다는 것을 알 수 없기 때문에, 그 값은'test'라고 기대했기 때문에 질문은 다소 혼란 스럽습니다. – sh0ber
"test"는 기존 변수에 대한 참조가 아닌 리터럴이어야하므로 답변 (''test '')이 적합합니다. 도와 줘서 고마워. – user2071301