Javascript 在JSON上重复执行
我是新手,请纠正我的错误 以下是我的JSON:Javascript 在JSON上重复执行,javascript,angularjs,json,Javascript,Angularjs,Json,我是新手,请纠正我的错误 以下是我的JSON: newTodo = { title: "task 1", cat: "category 1", }; 同样地 newTodo = { title: "task 2", cat: "category 1", }; newTodo = { title: "task 3",
newTodo = {
title: "task 1",
cat: "category 1",
};
同样地
newTodo = {
title: "task 2",
cat: "category 1",
};
newTodo = {
title: "task 3",
cat: "category 3",
};
现在在我的HTML中,我应该如何编写如下代码:
<li ng-repeat="todo in todos">
{{todo.title}}
{{todo.cat}}
</li>
{{todo.title}
{{todo.cat}
但以上是错误的,我希望任务按类别显示,如:
类别1:任务列表
第2类:任务列表
请帮忙。如果问题不清楚,请告诉我。你可以这样写:
$scope.newToDo = {
title: "task 2",
cat: "category 1",
};
而不是html
<li ng-repeat="todo in newToDo ">
{{todo.title}}
{{todo.cat}}
</li>
{{todo.title}
{{todo.cat}
或在表中:
<table>
<tr ng-repeat="todo in newToDo">
<td>{{todo.title}}:<span style="font-weight: bold"> {{todo.cat}}</span></td>
</tr>
</table>
{{todo.title}}:{{todo.cat}
您可以将json设置为:
var allTask = [
{
cat: 'category 1'
task : { title: "task 1", title: "task 2", title: "task 3"}
},
{
cat: 'category 2'
task : { title: "task 1", title: "task 2", title: "task 3"}
}
]
var-app=angular.module('myApp',[]);
应用程序控制器('myCtrl',函数($scope){
$scope.todos=[{
“标题”:“任务1”,
“cat”:“Cat1”
}, {
“标题”:“任务2”,
“cat”:“Cat1”
}, {
“标题”:“任务1”,
“cat”:“Cat2”
}];
var-reduced={};
$scope.todos.map(函数(项){
减少的[item.cat]=减少的[item.cat]| |[];
减少[item.cat].push(item.title);
});
$scope.reducedOutput=已减少;
});代码>
li{
颜色:红色;
}
{{key}}
- {{title}
创建一个名为todoList的组件
angular.
module('TodoApp').
component('todoList', {
template:
'<ul>' +
'<li ng-repeat="newTodo in $ctrl.newTodos ">' +
'<span>{{newTodo .title}}</span>' +
'<p>{{newTodo .cat}}</p>' +
'</li>' +
'</ul>',
controller: function TodoListController() {
this.newTodos = [
{
title: "task 2",
cat: "category 1"
}, {
title: "task 2",
cat: "category 1"
}
];
}
});
angular。
模块('TodoApp')。
组件('todoList'{
模板:
“”+
“- ”+
“{{newTodo.title}}”+
“{{newTodo.cat}”+
“
”+
“
”,
控制器:函数TodoListController(){
此.newTodos=[
{
标题:“任务2”,
类别:“1类”
}, {
标题:“任务2”,
类别:“1类”
}
];
}
});
然后像这样创建视图文件
<body ng-app="TodoApp">
< todo-list></todo-list>
</body>
欢迎来到StackOverflow,Sajan!如果您想按类别ng repeat=“todo in todos order by todo.cat”排序,可能这个问题不太清楚。您需要制作和数组如下[{“title”:“task”},{“title”:“task”}]@Sajan Nagpal:检查我的答案,并让我知道。但它显示了所有任务以及类别,如(task1,category1),(task2,category1),(任务3,类别3)…我希望它是这样的:(类别1:任务1,任务2),(类别3:任务3,任务4)正如Jigar7521所说,您必须按照他所描述的方式构造json数据。@error505他不能更改json。他仍然可以使用他的json结构,但创建json不在我的控制之下,而是由我来创建的。因此,每次遇到json时,您都可以像allTask一样推送它。推送({title:“task 1”,title:“task 2”,标题:“任务3”});为什么使用指令?按功能区而不是按函数来组织代码。那么,在这些功能区中使用指令是否有错误?在哪里使用指令和不使用指令没有标准。但使用指令将简化代码。练习使用指令是一个好习惯。好的答案。投票赞成。@SajanNagpal Stackoverflow很快,但你应该LD不认为它是一个代码生成器。答案是我以前回答的一个拷贝/粘贴……你应该自己搜索一下。first@Weedoze…好的…谢谢你的帮助。