我一直在努力研究AngularJS,并试图了解一切如何联系在一起,但我已经陷入困境。
如何传递变量来更改页面上加载和显示的JSON? 我认为这将是一个按钮点击,指令将与控制器通信,但我不太确定。
如果我的JSON像控制器一样......
var id = 'peter';
var person = $resource('http://myjson.com/'+id+'.json')
我无法弄清楚如何根据按钮点击更改id
。
非常感谢任何帮助
答案 0 :(得分:1)
我尝试尽可能简单地解释,您可以使用ngClick指令将数据作为参数从HTML传递到控制器。 控制器内的函数将被调用,因为它使用$scope绑定到 ngClick 指令。
示例强>:
HTML:
<div ng-app="App" ng-controller="ctrl">
<div ng-repeat="itemId in items">
<button ng-click="myClickFunc(itemId)">click {{itemId}}</button>
</div>
</div>
JS:
var app=angular.module('App', ['ngResource']);
function ctrl($scope,$resource){
$scope.items=[1,2,3,4];
$scope.myClickFunc=function(itemId){
var person = $resource('http://myjson.com/get/:id');
person.get({id: itemId}).$promise.then(function(data) {
// success
$scope.myData = data;
}, function(errResponse) {
// fail
});
}