我正在尝试使用ng-repeat制作可点击式菜单。 我使用ngResource来调用休息服务器。 当我的菜单以纯html(ul / li)完成时,一切都运行良好但是当使用ng-repeat完成时,回调设置的数据不会在HTML视图中更新。
也许一个简单的例子会更清楚:
提前致谢
ps:我试图制作一个jsfiddle,但我无法让它工作......
html页面:
<!doctype html> <html>
<head>
<script src="http://code.angularjs.org/1.0.7/angular.min.js"></script>
<script src="http://code.angularjs.org/1.0.7/angular-resource.min.js"></script>
<script src="js/date.js"></script>
</head>
<body>
<div ng-app="App">
<div ng-controller="Controller">
<h1>{{ date.time }}</h1>
<h1>{{ date.milliseconds_since_epoch }}</h1>
<hr>
<button ng-click="fetchDate()">fetch</button>
<hr>
<div><ul><li><a>html menu</a>
<ul><li><button ng-click="fetchDate()">fetch</button></li></ul>
</li>
</ul>
</div>
<hr>
<div><ul><li ng-repeat="menuItem in menu.menuItems"><a>{{menuItem.label}}</a>
<ul><li ng-repeat="subMenuItem in menuItem.subMenuItems">
<button ng-click="fetchDate()">fetch</button>
</li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</body>
</html>
角度控制器(date.js):
angular.module('App', ['ngResource']);
Controller = function ($scope, $resource) {
$scope.menu = {'menuItems': [
{'label': 'menu1', 'subMenuItems': [
{'label': 'sub1'}
,
{'label': 'sub2'}
]
}
,
{'label': 'menu2', 'subMenuItems': [
{'label': 'sub1'}
,
{'label': 'sub2'}
]
}
]
};
$scope.Date = $resource('http://date.jsontest.com/', {
alt: 'jsonp',
callback: 'JSON_CALLBACK'
}, {
get: {
method: 'JSONP'
}
}
);
$scope.fetchDate = function () {
this.date = this.Date.get();
};
};