我试图在工厂上关注这个视频,以便在 AngularJS 中的控制器之间传递数据,但有些东西不太奏效。
虽然我还没有 JSON 文件,但我使用硬编码版本进行测试。
我有一个 NavController 负责填充导航菜单上的链接。然后我有一个 TableController 负责从这个未来的 JSON 文件中获取数据并创建一个表格。这两个控制器彼此独立,这很好,但现在我想更改它,以便我的导航菜单中的某些链接可以影响表格的视图,过滤和隐藏各种元素。我还想在导航控制器下包含一个搜索栏来搜索表格中的帖子,除非它以某种方式与数据相关联,否则它将不起作用。
我尝试获取少量数据并将其加载到工厂中:
数据.js
var app = angular.module('AppName', []);
app.factory('DataFactory', function(){
return [{'title':'title',
'A': '1',
'B': '2',
'C': '3',
'D': '4',
'E': '5',
'F': '6';
},
{'title':'title',
'A': '1',
'B': '2',
'C': '3',
'D': '4',
'E': '5',
'F': '6';
};
});
但现在我试图将该 DataFactory 加载到我的 NavController 和 TableController 中,但它不起作用。
导航控制器.js
app.controller('NavController', ['$scope', DataFactory, function($scope){
$scope.links = [
{'name':'About',
'URL': '#/about',
},
{'name':'Active',
'URL': '#/active',
}
];
$scope.data = DataFactory; //This part doesn't seem to be working.
}]);
表控制器.js
app.controller('TableController', ['$scope', DataFactory, function($scope){
$scope.tablecontent = DataFactory; //Not working
}]);
我只是不确定我哪里出错了,为什么我的数据没有传递给我的控制器。获得数据后,我还关心如何访问各个部分。我还是会简单地使用
ng-repeat='content in tablecontent' ... {{content.title}} ...
?