そのサービスが与えられた場合(サーバー上でjsonをフェッチするだけ)
SushiServices = angular.module("SushiServices",[])
SushiServices.factory("DataTypeService",["$http",($http)->
self = {}
self._data = []
self._inilialized = false
return ->
if self._inilialized ==false
$http.get("data/types.json").success (data)->
self._data = data;
self._inilialized = true
return self._data
])
コントローラでそのサービスを使用するとします:
ProductListController = ($scope,$rootScope,$http,$filter,DataTypeService)->
###
EN : manage product list display
FR : gère l'affichage de la liste de produits
###
$rootScope.types = DataTypeService()
$ rootScope.typesは繰り返し使用されますが、問題は明らかです:-ページをレンダリングすると、jsonがまだ正常にフェッチされていないため、リピーターに何も表示されません。
どうすればアプリを設計できますか?サーバーから何かが戻ってきたときにテンプレートが自動的に更新されますか?ありがとう
テンプレート:
<span ng-repeat='type in types'>
<a href='javascript:void 0;' ng-click="addToSelectedTypes(type.id)" class='label trans' style="font-size: 15px" ng-class="getSelectedClass(type.selected)" >{{type.name | capitalize }}</a>
</span>