카테고리 아카이브: 각도

각 지시문에 대 한 문제 해결 팁 (또는, 다시 온통 하이픈을 사랑 하는 학습)

나는 애플 리 케이 션의 몇을 확인 $http.get() 통화 및 숨겨진 추악한 오류 세부 정보와 함께 정중 하 게 서식이 지정 된 오류 메시지를 보여줄 수 있을 하 고 싶 었, 그러나 액세스할 수 있습니다.  기본적으로, 이:

image

그리고 오류에 클릭 하면, 그들은 더 많은 정보를 참조 하십시오:

image

간단한 물건입니다.  때문에 정확한 같은 잠재적인 오류가 최종 사용자 화면 및 관리 화면에 표시 될 수 있습니다, 그것은 명확 하 게 사용자 지정 각도 지시문에 대 한 라고합니다.  난  이것을 발견합니다 뛰어난 시리즈 기사 (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 하이픈 수 했다 알고 충분히 똑 똑 했다.  그 힌트를 제공 하지 않았다면, 나는 아마 수 여전히 문제 해결이 미소.  재미 있는 시간!

이 트릭은이: 뿐만 아니라 지시문 요소 이름을 하이픈합니다, 그래서 당신은 그것에 추가할 특성이 있습니다.  일단 하이픈 추가, 모든 그것은 거 장을 움직였다.  댄의 튜토리얼 짧은 단일 이름을 사용 하는 일이, 그래서 연결을 확인 하지 않았다.

희망이 누군가가 도움이.

</끝>

undefined내 블로그를 구독.

에 지 저 귐에 나를 따르라합니다 http://www.twitter.com/pagalvin

HTTP 406 SharePoint 나머지 엔드 포인트에 대 한 각도 $http.get을 사용 하 여 오류

업데이트: 정보의 훌륭한 조각이 지적 마크 광고 ndersson: http://blogs.office.com/2014/08/13/json-light-support-rest-sharepoint-api-released/. 그 많은 것을 설명합니다 :).

블로그 게시물의 가장 나쁜 제목도 있을 수 있습니다.! 어쨋든.

일반적으로 모든 O365 인스턴스에 대해 내 프로토타이핑을. 나는 내 개인 인스턴스를 다른 사람에 영향을 걱정 하지 않아도. 여담-기억 때 우리 전화 모스-와 우리의 노트북에 가상 컴퓨터 주위 실행 SQL Server, IIS, 하이퍼-V 대 결정. Vm 웨어? 어쨋든...

가이 환경에서 각을 사용 하 여 응용 프로그램을 개발 했다, 다른 것 들 중, 이:

$http.get(serverUrl)
.성공(함수(데이터, 상태, 헤더, 구성) {

var getLinksResponse = 데이터;

getLinksResponse.value.forEach(함수(theResult) {

// 에 고 그래서 거품

이 두 개의 서로 다른 SharePoint 온라인 환경에서 잘 작동 했다. 그러나, 언제 내 동료 Cloudshare 인스턴스를 포팅, 가 지 고 있는 HTTP 406 오류 (처음으로 내가 하나를가지고 했다, 그래서... 야 호, 추측하건데). 우리 연구의 조금 않았고 "수락" 헤더에서은. SharePoint 온라인 완벽 하 게 행복 했다:

수락: 응용 프로그램/json

Cloudshare 인스턴스 하지만 (프 렘에 SP입니다, 가상 서버에서 호스팅) 클래식을 싶 었 어 요 "odata verbose =" 뿐만 아니라에 추가:

수락: 응용 프로그램/json;odata 자세한 정보 표시 =

수정, 우리는 같은 헤더를 추가:

var 구성 = {헤더: {
' 수락 ': ' 응용 프로그램/json;odata verbose ='
}
};

$http.get(serverUrl,구성)
.성공(함수(데이터, 상태, 헤더, 구성) {

var getLinksResponse = 데이터;

getLinksResponse.value.forEach(함수(theResult) {

// 에 고 그래서 거품

그의 제거를 406, 하지만 그것은 또한 응답의 형식 변경. 그것은 더... 자세한. (하 하!) 더 많은 변화가 필요 했다 그리고 여기에 최종 결과:

var 구성 = {헤더: {
' 수락 ': ' 응용 프로그램/json;odata verbose ='
}
};

$http.get(serverUrl,구성)
.성공(함수(데이터, 상태, 헤더, 구성) {

var getLinksResponse = 데이터;

getLinksResponse.d.results.forEach(함수(theResult) {

// 에 고 그래서 거품

이 뀌는 30 우리를 위해 분 문제, 그래서 우리가 운이. 바라 건 대 누군가가 발견이 유용한.

</끝>

방법: 같은 페이지에 여러 각도 SharePoint 웹 파트를 사용 하도록 설정

이 블로그 게시물 다중 당신이 수 있는 방법에 대해 설명 합니다 Angular.js 기반 SharePoint 웹 파트 (콘텐츠 편집기 웹 파트를 통해 참조) 같은 페이지에. 콘텐츠 편집기 웹 파트를 호출 (CEWP) 그 Angular.js 프레임 워크는 "각 웹 파트."를 사용 하 여 자바 스크립트 참조

각의 부트스트랩 프로세스가 슈퍼 쉽습니다 그리고 당신이 인터넷에서 찾을 모든 예는 이런 식:

<html ng-애플 리 케이 션 'myApp' =>

<ㅋ ㅋ /><ㅋ ㅋ /><ㅋ ㅋ />

</html>

이 고장, 그러나, 같은 페이지에 여러 개의 각 웹 파트를 대표 하는 여러 CEWP의 사용 하려는 경우. 각 것입니다만 자동으로 부트스트랩 첫 번째 ng-응용 프로그램 지시문에 대 한 그것은 발견 – 적어도 각 버전 1.3.6. 해결책은 아주 간단-수동으로 코드를 대신 부트스트랩. 지금 위의이 같은 것을 변경합니다:

<바디>
<d
4 id =”bootstrapHere” ng 컨트롤러 =”theController로 myController”>
<ㅋ ㅋ /><ㅋ ㅋ /><ㅋ ㅋ />
</div>
</바디>

<스크립트 src =”//ajax.googleapis.com/ajax/libs/angularjs/1.3.6/angular.js”></스크립트>

<스크립트>
angular.bootstrap(angular.element(document.getElementById(“bootstrapHere”)),[' myApp']);
</스크립트>

기본적으로, 당신의 부트스트랩 할 요소에 ng-애플 리 케이 션을 사용 하는 대신, 요소에 ID를 때 리고. 다음, 부트스트랩을 사용 하 여() 각도에 메서드 자체 제어는 부트스트랩 프로세스 실행 시간에. 동일한 페이지에 3 개의 다른 각도 웹 파트와 함께 이것을 테스트 했 고 그것은 효과가 매력.

</끝>

undefined내 블로그를 구독.

에 지 저 귐에 나를 따르라합니다 http://www.twitter.com/pagalvin