您好我想在我的角应用程序中存储大量国家/地区,因为有些大型表单有时需要选择国家/地区。我有以下想法,但不知道最佳做法是什么:
编辑:我只想补充说,这个数组将用于一个可重复使用的选择组件,在构建表单时可以多次使用。
答案 0 :(得分:2)
- 将数组存储在数据服务中并在需要时抓取
醇>
这是最好的一个,因为Angular中的服务基本上就像一个单身人士。它将在整个程序生命周期中持续存在。
您甚至可以通过实现getter-setter类型的接口来使其更好。
get countries(): Country[] {
// If present in Local Storage, return that
// Else return whatever is there in memory
// Else fetch from network, i.e. httpClient.get()
}
set countries(countries: Country[]) {
// Store the countries in memory
// Store the countries in the Local Storage
}
将数组存储为组件
上的属性
非常糟糕的是,数组需要从一个组件传递到另一个组件。 提供服务以共享代码。
将数组存储在静态变量文件中,并在需要时抓取
该文件将继续增长,直到您无法维护它为止。考虑分离关注点。
判决:
Angular是一个自以为是的框架,如果您不想遭受决策疲劳,请选择风格指南中提到的最佳实践!
答案 1 :(得分:0)
您可以将数据存储在外部json文件中,然后检索控制器中的数据。只需确保在实例化控制器时注入$ http服务。
$http.get('./data/countries.json').then(function(ret){
$scope.countries = ret.data;
});