2015-06-04 53 views
1

我正在考慮將錯誤消息存儲在我的UI框架(angularjs)中的屬性文件中。當其他呼叫失敗時,根據錯誤代碼,我可以從文件中讀取消息並在UI上顯示消息。類似於struts通過messageresource屬性處理這個過程。我試圖查找angularjs文檔,但沒有得到任何方向如何做到這一點。有關如何在angularjs中實現此功能的任何建議?如何從angularjs中的struts讀取屬性文件中的錯誤消息?

回答

0

閱讀關於Angular中的http-interceptors來處理全局類似的東西。 Angular中沒有結構的概念。 Angular試圖保持其核心非常簡單,只包含核心內容。你可能想用http攔截器來編寫你自己的模塊來處理類似的事情。

您可以編寫錯誤日誌服務並注入任何您想記錄錯誤的所有控制器。該服務可以將日誌保存到Mongo或任何地方

+0

難道還有一個簡單的屬性文件,在那裏我可以只給一個鍵值對,並根據按鍵顯示在UI上的價值。這可以在沒有攔截器的情況下完成嗎? – Mustang

+0

它總是可以在沒有攔截器的情況下完成,但問題是,你希望在什麼級別上執行它。您可以擁有一個JSON文件,編寫一個服務並從錯誤日誌服務中將所有錯誤從json發送到某個aaray。然後在所有想要記錄錯誤或在UI上顯示的控制器中注入此服務。 –

+0

Infact比從JSON文件讀取更好,創建一個CONSTANT對象,您可以在其中放置儘可能多的鍵值對。您仍然需要在所有服務中注入您的constact。 最佳做法是,無論是使用帶有JSON文件的服務還是使用常量對象,都將其注入父控制器。它將在所有兒童控制器中訪問。 –

1

這是在UI中顯示錯誤消息的方法之一。

創建一個JSON文件ErrorMessages這樣的:

{ 
"ERROR-EDIT": "Some problems by updating the item!", 
"ERROR-SAVE": "Some problems by saving the changes!", 
"ERROR-DELETE": "Some problems by deleting!", 
"ERROR-EMAIL": "E-Mail is not valid!" 
} 

要想從JSON文件中的數據,在您的控制器必須創建HTTP請求到該文件。

提供你的模塊和其它的角度配置有效,控制器應該是這樣的:

app.controller('mainController', ['$scope', '$http', function ($scope, $http) { 
//HTTP call to get data from file with valid url  
$http.get('../Resources/ErrorMessages.json').success(function (data) { 
     $scope.listMessages = data; 
    }); 
}]); 

最後,key note只顯示一個鍵 - 值(明確的方法),該對象的屬性:

<body ng-controller="mainController"> 

    <p>{{listMessages["ERROR-EDIT"]}}</p><br /><br /> 
    <p>{{listMessages["ERROR-DELETE"]}}</p><br /><br /> 
    <p>{{listMessages["ERROR-EMAIL"]}}</p><br /><br /> 
    <p>{{listMessages["ERROR-SAVE"]}}</p><br /><br /> 

</body> 

您還可以創建與parameteres包括目標和主要具有相同的結果,以顯示它的功能。

我希望這個想法會向前推進了:)

+1

這應該在每個控制器上。因此,在導航到不同的頁面時,它一次又一次地加載相同的數據。在任何控制器初始化之前,應該有更好的在根作用域中進行初始化。 – Sathesh