나는 애플 리 케이 션의 몇을 확인 $http.get() 통화 및 숨겨진 추악한 오류 세부 정보와 함께 정중 하 게 서식이 지정 된 오류 메시지를 보여줄 수 있을 하 고 싶 었, 그러나 액세스할 수 있습니다. 기본적으로, 이:
그리고 오류에 클릭 하면, 그들은 더 많은 정보를 참조 하십시오:
간단한 물건입니다. 때문에 정확한 같은 잠재적인 오류가 최종 사용자 화면 및 관리 화면에 표시 될 수 있습니다, 그것은 명확 하 게 사용자 지정 각도 지시문에 대 한 라고합니다. 난 이것을 발견합니다 뛰어난 시리즈 기사 (http://weblogs.asp.net/dwahlin/creating-custom-angularjs-directives-part-i-the-fundamentals) 위대한 댄 Wahlin. 그의 조언에 따라, 매우 신속 하 게 생성 한 <여 보세요 세계> 지시문 및 내 더 복잡 한 오류 디스플레이 스 퀴 지에 이동. 나이 좀 더 복잡 한 지시문 문제가 조금에 부딪쳤다. 행복 하 게, 일종의 기회, WebStorm 라고 했다 (이 요즘 사용 하는 편집기) JS 파일은 각 파일 및 그것은 도움이 문제를 알아낼. 이것은 자체 지침에 대 한 코드:
angular.module("CDLApp").지시문("generalCdlErrorHandler", 함수() {
반환 {
제한: "E",
바꾸기: true,
범위: {
retrieveLastConfigurationError: "&"
},
서식 파일:
'<사업부 클래스 = "경고 위험 경고" 역할 "경고를 =" ng 초기화 = "doShowExpandedErrorDetails = true" 니 쇼 "retrieveLastConfigurationError =()">' +
' I/O 오류 또는 기타 오류. 구성 데이터 파일 수 없습니다 때문에 일반적으로 발생 ' +
' 발견 하거나 부정 확 한 정보를 포함 하는 구성 파일 (문서 라이브러리를 참조 하는 등 ' +
' 존재 하지 않는).' +
' <br />' +
' <div ng-쇼 "doShowExpandedErrorDetails" =>' +
' <a href = "#" ng 클릭 = "doShowExpandedErrorDetails = ! doShowExpandedErrorDetails ">' +
' 세부 사항 숨기기 하려면 여기를 클릭.' +
' </는>: ' +
' <br />' +
' <사전>{{retrieveLastConfigurationError() | json}}</사전>' +
' <br />' +
' </div>' +
' <div ng-쇼 = "!doShowExpandedErrorDetails ">' +
' <a href = "#" ng 클릭 = "doShowExpandedErrorDetails = ! doShowExpandedErrorDetails ">' +
' 오류 세부 정보를 확장 하려면 여기를 클릭.' +
' </는>' +
' </div>' +
'</div>'
};
});
기본적으로, 나는 "generalCdlErrorHandler" 이라는 새로운 요소를 만드는 거 야. 그것은 retrieveLastConfigurationError 라는 함수에 액세스 해야 그리고 그 범위 개체에서 처리 됩니다. 아마 사용 했을 수도 그냥 부모의 범위, 하지만 그 게으른 느낌. 만약 누구 든 지 생각 했어야 하는, 의견에 그것에 대해 듣고 싶어요.
이것은 모두 괜 찮 아 요, 하지만 난 아무것도 아니 었 어. 콘솔에서 팝업 오류 (적어도 한 번 길을 따라 만든 모든 sx 오류 고정). 난 단순히 지시문에서 출력을 하지 않았다. 갔다가 ng 쇼 지시문과 하기 전에 몇 가지 정적 텍스트를 추가 * 했던 * 그. 이 거기에 아마도 지시어를 암시적으로 "doShowExpandedErrorDetails" 같은 새로운 vars를 만들거나 "ng 초기화"는 허용 되지 않는 생각을 했다.
만약 내가 유형 및 WebStorm이이 시간 나를 도와 볼 수 HTML로 돌아갔다. 나이 같은 retrieveLastConfigurationError 함수에 전달 했다:
<일반 cdl 오류 처리기 retrieveLastConfigurationError="CDLController.retrieveLastConfigurationError()">
</일반 cdl 오류 처리기>
하지만 그것은 정말이 될 필요가:
<일반 cdl 오류 처리기 검색 마지막 구성 오류 "CDLController.retrieveLastConfigurationError =()">
</일반 cdl 오류 처리기>
WebStorm 하이픈 수 했다 알고 충분히 똑 똑 했다. 그 힌트를 제공 하지 않았다면, 나는 아마 수 여전히 문제 해결이 . 재미 있는 시간!
이 트릭은이: 뿐만 아니라 지시문 요소 이름을 하이픈합니다, 그래서 당신은 그것에 추가할 특성이 있습니다. 일단 하이픈 추가, 모든 그것은 거 장을 움직였다. 댄의 튜토리얼 짧은 단일 이름을 사용 하는 일이, 그래서 연결을 확인 하지 않았다.
희망이 누군가가 도움이.
</끝>
에 지 저 귐에 나를 따르라합니다 http://www.twitter.com/pagalvin