我正在处理子菜单列表。首先,我从json文件中获取信息,并显示第一个结果。其中一些结果具有“ x”个子级别。这是我的代码的一部分:
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread t, Throwable e) {
handelUnCoughtException(t,e);
}
});
}
private void handelUnCoughtException(Thread t , Throwable e){
Toast.makeText(this , "Handeling Error" , Toast.LENGTH_LONG).show();
Intent serviceintent = new Intent(this , ErrorHandelingService.class);
startService(serviceintent);
}
在我的html视图上:
function getCategories(){
$http.get('/app/json/categories.json')
.then(function(data){
$scope.categoriesList = data.data.categories;
//console.log($scope.categoriesList);
});
}
$scope.theSublevels = function(x){
$scope.inside = x.sublevels;
//console.log($scope.inside);
}
$scope.nextSublevel = function(y){
$scope.inception = y.sublevels;
//console.log($scope.inception);
}
除了打开三个级别并更改父类别<ul>
<li class="listagem" ng-repeat="category in categoriesList">
<a ng-click="theSublevels(category)">{{category.name}}</a>
<ul>
<li class="segunda-listagem" ng-repeat="next in inside">
<a href="" ng-click="nextSublevel(next)">{{next.name}}</a>
<ul>
<li class="sub-sublistagem" ng-repeat="other in inception">
<a href="">{{other.name}}</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
之外,所有内容都可以找到。第一个结果更改了,但是直到我单击新的第一个子级别之前,这些子级别保持不变。我该怎么做才能清除下一个子级别并仅显示第一个子级别?
我正在使用AgularJs和Javascript。
先感谢
答案 0 :(得分:1)
<ul>
<li class="listagem" ng-repeat="category in categoriesList">
<a>{{category.name}}</a>
<ul>
<li class="segunda-listagem" ng-repeat="next in category.sublevels">
<a href="">{{next.name}}</a>
<ul>
<li class="sub-sublistagem" ng-repeat="other in next.sublevels">
<a href="">{{other.name}}</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
您无需在点击时提取子内容,可以直接绑定它们。像上面一样尝试。