/ * hablo español* /
1-我有这个json:
{ "pizarra": [
{
"director": "",
"local": "pizarra",
"telefono": ["2085236", "2085237", "2085238", "2085239", "2085240", "2085241", "2085242"],
"ext": ["0", "211"],
"ubicacion": "lobby",
"puerta": "15202"
}
],
"dirgeneral": [
{
"director": "Blanca Rosa Hung Ramos",
"local": "Secretaria",
"telefono": ["2082546", "2086376"],
"ext": ["258"],
"ubicacion": "Edif. 1 piso 1",
"puerta": "2"
},
{
"director": "Blanca Rosa Hung Ramos",
"local": "Especialista de cuadros",
"telefono": ["2086534"],
"ext": ["270"],
"ubicacion": "Edif. 1 piso 1",
"puerta": "2"
}
]}
...
2-我有这条路线:
agendaApp.config(['$routeProvider', function($routeProvider){
$routeProvider.
when('/', {
templateUrl: 'src/views/agenda.html', <----see i use the same view
controller: 'pizarraCtrl'
}).
when('/pizarra', {
templateUrl: 'src/views/agenda.html', <----see i use the same view
controller: 'pizarraCtrl'
}).
when('/direccion-general', {
templateUrl: 'src/views/agenda.html', <----see i use the same view
controller: 'dirGrlCtrl'
}).
...
3-我有这项服务:
agendaServices.factory('getApp',['$resource', function($resource){
return $resource('./data/directorio.json', {}, {
query: {method: 'GET', isArray: false}
});
...
4-我有这个控制器
agendaControllers.controller('pizarraCtrl', ['$scope', '$rootScope', 'getApp', function ($scope, $rootScope, getApp) {
var data = getApp.query();
$rootScope.datos = data;
console.log(data);
}]);
agendaControllers.controller('dirGrlCtrl', ['$scope', '$rootScope', 'getApp', function ($scope, $rootScope, getApp) {
var data = getApp.query();
$rootScope.datos = data;
console.log(data);
}]);
...
5-我有这个部分:
<tr ng-repeat="dir in datos | filter: query | orderBy: orden">
<td style="width: 200px">{{ dir.local }}</td>
<td style="width: 120px">
<select>
<option ng-repeat="phone in dir.telefono">
{{ phone }}
</option>
</select>
</td>
<td style="width: 80px">
<select>
<option ng-repeat="ext in dir.ext">
{{ext }}
</option>
</select>
</td>
<td style="width: 95px">{{ dir.ubicacion }}</td>
<td style="width: 80px;">{{ dir.puerta }}</td>
</tr>
我需要的是使用相同的视图来绑定比萨拉 url 和 dirgeneral url。我知道用不同的视图来做,<tr ng-repeat="dir in datos.pizarra | filter: query | orderBy: orden">
或者<tr ng-repeat="dir in datos.dirgeneral | filter: query | orderBy: orden">
但是如果我尝试过滤控制器中的数据,就像这样:$rootScope.datos = data.pizarra;
它不会绑定所需的数据。当我在我的控制器中放入一个 console.log(data); 然后查看我的萤火虫,我收到的数据是这样的:f { $promise={...}, $resolved=false, $get=function(), más...}
为什么是 f?当我点击它时:
$promise
Object { then=function(), catch=function(), finally=function()}
$resolved
true
dirgeneral
[Object { director="Blanca Rosa Hung Ramos", local="Secretaria", telefono=[2], más...}, Object { director="Blanca Rosa Hung Ramos", local="Especialista de cuadros", telefono=[1], más...}, Object { director="Blanca Rosa Hung Ramos", local="Auditoria", telefono=[1], más...}, Object { director="Blanca Rosa Hung Ramos", local="Asesor Juridico", telefono=[1], más...}]
pizarra
[Object { local="pizarra", telefono=[7], ext=[2], más...}]
$delete
function()
...