在我正在處理的應用程序中,我需要添加一些過濾器,例如:批准的,帶有文檔的,已批准的文檔以及其他一些文檔。所有這些過濾器都基於PHP控制器執行的MySQL查詢(我使用Symfony2),並且該控制器上的功能將返回格式良好的JSON。我的問題是:我可以根據這種行爲爲AngularJS編寫過濾器嗎?怎麼樣? (我的意思是一個小例子只是爲了瞭解流量)基於PHP服務器端請求/響應的AngularJS過濾器
回答
我想你可以通過類似的東西做給下面的代碼:
//in your symfony controll
public function sampleAction() {
$data = $this->getDoctrine()->getManager()->getRepository('YourBundle:SampleEntity')->findAll()->toArray();
return $this->render('YourBundle:Views_Path:sampleTwigOutput.html.twig', array(
'data' = json_encode($data)
));
}
在你的樹枝文件,你可以有類似
<div ng-init="mydata = {{ data|raw }}"></div>
<table id="sortedData">
<tr><th>T1</th><th>T2</th></tr>
<tr ng-repeat="data in mydata | filter:sortData">
<td>{[{data.name}]}</td>
<td>{[{data.phone}]}</td>
</tr>
您還需要將開始和結束符號更改爲不同的東西(如{[{
和}]}
)interpolateProvider
現在,您需要定義諸如
angular.module('MySortModule', []).
filter('sortData', function() {
// do all your stuffs to sort the data base on whatever you want
// set them all to out
return out;
});
你可以找到更多關於它的信息一sortData
js函數上Angular filter
我會建議通過Symfony使用DB數據速度更快排序和在角度輸出中只是轉儲數據
你的代碼對我有意義,但我仍然感到困惑,因爲它不僅僅是一個過濾器,現在有四個:「沒有文檔」,「批准「,」活動「和」非活動「,每個在Symfony2端調用不同的控制器函數,我沒有測試你的代碼,但它會適用於我的需求?我正在使用的解決方案是使用'ng-change',然後在Angular控制器中使用'.get'調用正確的函數是醜陋的,但是我發現的只有這麼屁 – ReynierPM
您可以應用多過濾器基礎這個鏈接http:/ /docs.angularjs.org/guide/filter,但如果我明白你想每個過濾器調用另一個Ajax,對吧?如果你有全部數據,那麼爲什麼要調用ajax來應用過濾器?您可以通過Symfony控制器獲取所有數據,並通過Angular JS應用過濾器(或者我可能不正確)。此外,我沒有看到任何代碼,所以我只準備了一個簡單的示例(我不確定它應該如何適用於您的項目) – Javad
- 1. 在基於RestEasy的服務中爲ThreadLocal存儲使用服務器請求和響應過濾器
- 2. gatling中的請求/響應過濾器
- 3. 節點服務器未響應請求
- 4. FTP服務器不響應USER請求
- 5. 請求與服務器響應DUPLICATE_REQUEST_ID
- 6. Angularjs:通過服務器響應
- 7. AngularJS發佈請求無法正確獲得服務器響應
- 8. 來自服務器的Android客戶端請求和響應
- 9. 簡單的服務器和客戶端請求/響應在C#
- 10. Json POST請求到服務器但服務器響應(400)錯誤請求
- 11. 過濾服務器端
- 12. Couchdb應用過濾服務器端
- 13. html表中的過濾器操作angularjs或服務器端
- 14. http - 客戶端服務器 - 請求響應 - 連接
- 15. 記錄客戶端請求而不等待服務器響應
- 16. 基於http的Angularjs過濾器得到
- 17. 基於選擇值的過濾器angularjs
- 18. 使用php服務器響應來自Android的http請求
- 19. PHP SoapClient的 - 如何讓請求服務器和響應
- 20. Nodejs作爲通過套接字的請求/響應服務器的客戶端
- 21. 通過http請求獲得名稱服務器的響應?
- 22. 如何在到達服務器之前基於主體過濾HTTP請求?
- 23. AngularJS和服務器端過濾器和分頁
- 24. 服務器對POST請求沒有響應CURL + PHP
- 25. 與服務器端YADCF multi_select過濾器
- 26. PHP服務器響應於執行
- 27. 服務器在會話中過多後停止響應請求?
- 28. 服務器端angularjs
- 29. 通過「代理」服務器PHP刷新服務器響應
- 30. 檢查.NET MVC中的AngularJS $資源請求服務器端
如果以角度顯示數據,則不關心數據來自何處。 '{{obj.myData | myFilter}}' – Merlin
@Lorenzo我不跟着你,你能解釋一下你的答案嗎? – ReynierPM
好,所以可能是我沒有很好地理解你的問題。你知道角度過濾器嗎?角度過濾器用於格式化你顯示的值 – Merlin