我是一个平均堆栈开发和做Todo应用程序的初学者,在其中我创建任务单,然后使用angularjs存储在特定的任务单中。
最初,我只是检索所有的待办事项,而不考虑它属于哪个任务表,也没有考虑如何创建待办事项。现在,我想增强它,只检索特定任务单的待办事项。因为我动态地想要加载它,所以我使用的是值routeProvider和值'/:TaskID',其中TaskID正在改变。因此,如果存在TaskID,我将使用一个函数,否则将检索所有内容。
就像这样:
if($routeParams.TaskID) {
var id = $routeParams.TaskID;
Todos.getTodosForId(id)
.success(function(data) {
$scope.loading = false;
$scope.formData = {}; // clear the form so our user is ready to enter another
$scope.todos = data; // assign our new list of todos
});
} else {
// GET=====================================================================
// when landing on the page, get all todos and show them
// use the service to get all the todos
Todos.get()
.success(function(data) {
for(var i = 0; i < data.length; i++) {
$scope.todos.push(data[i]);
}
$scope.loading = false;
});
} 而不是使用if-否则,它有可能保持他们的独立性吗?就像我想让他们两个人都能用掉那个条件一样。是否可以在这里调用方法:用于特定的TaskID :
.when('/:TaskID',
{
templateUrl: "app.html",
controller: "mainController"
}) For All Todos :
.when('/',
{
templateUrl: "app.html",
controller: "mainController"
}) 另一个问题是,如何在创建任务单时只显示特定任务单的待办事项?

如图所示,我的页面显示的是所有待办事项,而不是尚未创建的待办事项。所以,它不应该显示所有的待办事项,它应该首先向我展示No Todos。一旦我开始添加待办事项,我应该只看到任务表下的那些待办事项。我有点困惑,我该怎么做才能实现呢?
发布于 2016-01-27 17:47:37
如果您想在控制器和模板中的任何地方调用这些函数,您可以将它们归因于$scope变量,如下所示:
$scope.cleanForm = function(data) {
$scope.loading = false;
$scope.formData = {};
$scope.todos = data;
};
$scope.loadForm = function(data) {
$scope.todos = data;
$scope.loading = false;
};
if($routeParams.TaskID) {
var id = $routeParams.TaskID;
Todos.getTodosForId(id).success($scope.cleanForm(data));
} else {
Todos.get().success($scope.loadForm(data));
}https://stackoverflow.com/questions/34472554
复制相似问题