分類存檔:

對於角指令的故障排除提示 (或, 學會愛連字號)

我有幾個應用程式,使 $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",
替換: 真正的,

範圍: {
retrieveLastConfigurationError: "&"
},

範本:
'<div 類 ="警戒警報危險" 角色 ="警報" 吳 init ="doShowExpandedErrorDetails = true" 吳秀 ="retrieveLastConfigurationError()">' +
' 沒有輸入/輸出錯誤或其他錯誤. 這通常是因為配置資料檔案不能 ' +
' 發現或設定檔中包含不准確的資訊 (如引用文件庫 ' +
' 不存在).' +
' <br />' +
' <div 吳秀 ="doShowExpandedErrorDetails">' +
' <href ="#" 吳按一下 ="doShowExpandedErrorDetails = ! "doShowExpandedErrorDetails>' +
按一下此處以隱藏詳細資訊。 +
' </一>: ' +
' <br />' +
' <預>{{retrieveLastConfigurationError() | json}}</預>' +
' <br />' +
' </div>' +
' <div 吳秀 ="!"doShowExpandedErrorDetails>' +
' <href ="#" 吳按一下 ="doShowExpandedErrorDetails = ! "doShowExpandedErrorDetails>' +
按一下這裡可以展開錯誤詳細資訊。 +
' </一>' +
' </div>' +
'</div>'
};
});

基本上, 我創建了一個新的元素被稱為"generalCdlErrorHandler"。  它需要調用 retrieveLastConfigurationError 函數訪問,這處理的範圍物件中。  我大概可以用父範圍, 但我感覺這懶惰。  如果有人認為我應該這樣做, 我很樂意聽到關於它的評論.

這是一切都好, 但我沒有得到任何東西。  沒有錯誤彈出在主控台中 (至少一次,我修好了我創建了沿途的所有 sx 錯誤).  我只是沒得到任何輸出指令。  又添加了一些靜態文本吳秀指令然後 * 做 * 明白. 這讓我覺得或許該指令不允許隱式地創建新的 var,像"doShowExpandedErrorDetails"或有"吳 init"在那裡。 

我走進 html 代碼,看看是否我有一種類型,這一次 WebStorm 為我排憂解難。  像這樣的 retrieveLastConfigurationError 函數中過:

<一般 cdl 錯誤處理常式 retrieveLastConfigurationError="CDLController.retrieveLastConfigurationError()">
</一般 cdl 錯誤處理常式>

但它真的需要擁有這一切:

<一般 cdl 錯誤處理常式檢索最後一個配置錯誤 ="CDLController.retrieveLastConfigurationError()">
</一般 cdl 錯誤處理常式>

WebStorm 很聰明,知道它將要斷字。  如果它沒有提供暗示, 我將可能會仍然來進行故障排除 微笑.  有趣的時代!

訣竅就是這: 不僅是指導元素名稱用連字號連接, 因此,是你向它添加任何屬性。  我有一次添加連字號, 這一切工作得非常棒。  丹的教程碰巧使用單一的短名稱, 沒有使連接.

希望這有助於人.

</結束>

undefined訂閱我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

HTTP 406 使用角 $HTTP.get 針對 SharePoint 休息結束點時的錯誤

更新: 馬克 AD ndersson 指出資訊這個偉大的作品: http://blogs.office.com/2014/08/13/json-light-support-rest-sharepoint-api-released/. 這也解釋了很多 :).

這可能是最糟糕的一篇博客文章標題過! 安美居.

我通常做所有我針對 O365 實例的原型. 我有我個人的實例,所以,我不需要擔心影響別人. 順便說一句 — — 記得當我們稱之為進行虛擬機器周圍長滿了苔蘚 — — 我們筆記本電腦上 SQL Server, IIS, 決定 HYPER-V vs. VMWare? 安美居......

已經開發了一個應用程式,在這種環境不使用角, 除其他事項外, 這:

$HTTP.get(serverUrl)
.成功(功能(資料, 狀態, 標題, 配置) {

var getLinksResponse = 資料;

getLinksResponse.value.forEach(功能(結果) {

// 和這麼泡沫

這兩種不同 SharePoint 線上環境中工作正常. 不過, 當我的同事將其移植到一個 Cloudshare 實例時, 他正 HTTP 406 錯誤 (其中第一次我收到過那個, 所以...耶, 我想). 我們做了一些研究,發現"接受"標題關閉. SharePoint 線上感到滿意:

接受: 應用程式/json

但 cloudshare 實例 (即 SP prem, 在虛擬伺服器中承載) 想要經典"odata = 詳細"以及在中添加:

接受: 應用程式/json;odata = 詳細

要解決這個問題, 我們添加了這樣的標題:

var config = {標題: {
接受: 應用程式/json;odata = 詳細 '
}
};

$HTTP.get(serverUrl,配置)
.成功(功能(資料, 狀態, 標題, 配置) {

var getLinksResponse = 資料;

getLinksResponse.value.forEach(功能(結果) {

// 和這麼泡沫

那擺脫 406, 但它也改變了回應的格式. 它是更多......詳細. (哈哈!) 需要更多的變化,這裡是最後的結果:

var config = {標題: {
接受: 應用程式/json;odata = 詳細 '
}
};

$HTTP.get(serverUrl,配置)
.成功(功能(資料, 狀態, 標題, 配置) {

var getLinksResponse = 資料;

getLinksResponse.d.results.forEach(功能(結果) {

// 和這麼泡沫

這只變成 30 我們的小問題, 所以我們很幸運. 希望有人發現這很有用.

</結束>

操作方法: 啟用在同一頁的多個角的 SharePoint Web 組件。

這個博客帖子描述了你如何可以有多個 Angular.js 基於 SharePoint web 部件 (內容編輯器 web 部件通過引用) 在同一頁上. 我打電話內容編輯器 web 部件 (CEWP) 引用 JavaScript 使用 Angular.js 框架"角的 Web 組件"。

角的自舉過程是超級容易,只是大約每個示例,您在互聯網找到了這樣的事情:

<html 吳 app = 'myApp'>

<布拉赫 /><布拉赫 /><布拉赫 />

</html>

這打破了, 然而, 如果您想要啟用多個 CEWP 代表在同一頁的多個角的 web 部件。. 角將只能自動引導反對第一的吳 app 指令它發現 – 至少版本為角 1.3.6. 解決方案非常簡單 — — 那就是手動引導代碼相反. 上述現在更改為這樣的事情:

<正文>
<d
四、 id =”bootstrapHere” 吳控制器 =”作為 theController myController”>
<布拉赫 /><布拉赫 /><布拉赫 />
</div>
</正文>

<腳本 src =”//ajax.googleapis.com/ajax/libs/angularjs/1.3.6/angular.js”></腳本>

<腳本>
angular.bootstrap(angular.element(這段代碼(“bootstrapHere”)),['' myApp]);
</腳本>

基本上, 而不是使用吳 app 在元素上,要做你的引導, 你拍到該元素的 ID. 然後, 使用引導() 上角的方法本身來控制自舉過程在運行時. 這已經進行同一頁上的三個不同的角 web 部件和它的作品的魅力.

</結束>

undefined訂閱我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin