在angular.js

时间:2015-09-07 04:46:15

标签: javascript json angularjs

我是angularjs的新手,我有一些PHP和Rails的背景知识。

我正在为学习目的制作一个简单的应用程序,在这个应用程序中,我将要求一个资本并给予国家,反之亦然。

我对ui-router和很多我不了解的关于角度的事情没什么问题,但我特意在使用数据获取方面遇到了麻烦。

我为de capital提供的服务 - >状态功能是:

.factory('CidadeFactory', ['$http', function($http) {
var vm = this;

vm.data = [] 

return $http.get('../dados.json')
.success(function(data) {
    vm.data = data;
    console.log(data)
})
.error(function(err) {
    console.log(err);
})

我的控制器(还没有功能)是这样的:

angular.module('appUi').controller('CidadeCtrl', ['CidadeFactory',function(CidadeFactory){ }])  

此状态的html是:

<form action="">
    <fieldset>
        <label for="input-cidade">Type the capital name</label>
        <input type="text"   />
    </fieldset>
</form>

和我的.json:

{"itens": [
{ "state": "Rio Grande do Sul", "capital": "Porto Alegre " },
{ "state": "Santa Catarina", "capital": "Florianópolis" },
{ "state": "Paraná", "capital": "Curitiba" },
{ "state": "São Paulo", "capital": "São Paulo" },
{ "state": "Rio de Janeiro", "capital": "Rio de Janeiro" },
{ "state": "Minas Gerais", "capital": "Belo Horizonte" },
{ "state": "Espirito Santo", "capital": "Vitória" } ]}

我的问题是: 我该怎么做才能获得输入值,请在我的json文件中查询此值返回相对状态。 例如: 如果表格价值是库里提巴,我应该返回巴拉那。

我应该使用underscore.js进行数据操作吗?

出于最佳实践的原因: 这是保持工厂数据获取的更好方法,以及控制器上的数据操作,还是有更好的方法?

1 个答案:

答案 0 :(得分:1)

AFAIK建立链接的一种常用方法是观察控制器中文本字段的模型,并将回调函数绑定到它,从而从工厂检索数据。

下划线.js数据操作听起来是个好主意,我没有看到任何问题。

在模板中: <input type="text" ng-model="enteredCapital" />Your state is {{state}}

在控制器中: $scope.$watch('enteredCapital', function() { //call factory and do your thing $scope.state = state; //return the state-value back to the template });