Javascript AngularJS ng单击可在单击时显示值

Javascript AngularJS ng单击可在单击时显示值,javascript,html,angularjs,Javascript,Html,Angularjs,新的角度。因此,以下是我试图实现的目标: 执行$http get请求以获取相册列表并在UI中显示为URL列表(响应示例为['album1'、'album2'、'album3'] 当我单击相册1时,我需要为相册1发出$http get请求。当我单击相册2时,我需要为相册2发出$http get请求,依此类推,并相应地显示该响应 下面是我的代码(我知道第一个get调用将被执行,但随后的调用将是on-click事件) //模块 (功能(){ "严格使用",; angular.module('app.f

新的角度。因此,以下是我试图实现的目标:

  • 执行$http get请求以获取相册列表并在UI中显示为URL列表(响应示例为['album1'、'album2'、'album3']
  • 当我单击相册1时,我需要为相册1发出$http get请求。当我单击相册2时,我需要为相册2发出$http get请求,依此类推,并相应地显示该响应
  • 下面是我的代码(我知道第一个get调用将被执行,但随后的调用将是on-click事件)

    //模块
    (功能(){
    "严格使用",;
    angular.module('app.fileUploadForm'[
    “应用程序布局”,
    “ui.router”,
    “angularFileUpload”
    ]).config(FileUploadFormConfiguration);
    FileUploadFormConfiguration.$inject=['$stateProvider'];
    函数FileUploadFormConfiguration($stateProvider){
    $stateProvider.state('fileUploadForm'{
    url:“/fileUploadForm”,
    父项:“默认值”,
    templateUrl:'app/fileUploadForm/fileUploadForm.html',
    控制器:“FileUploadFormController作为vm”
    });
    }
    })();
    //控制器
    (功能(){
    angular.module('app.fileUploadForm').controller('FileUploadFormController',FileUploadFormController);
    FileUploadFormController.$inject=['$http'、'$log'、'$scope'、'$rootScope'、'APP_CONFIG'];
    函数FileUploadFormController($http、$log、$scope、$rootScope、APP\u CONFIG){
    var vm=这个;
    vm.albums=init;
    vm.albums.tracks=getAlbumTracks;
    vm.newFunction=newFunction;
    返回init();
    函数init(){
    $http.get('http://localhost:8080/api/albums,然后(函数(responseData){
    //在这里解析json数据并在UI中显示
    $scope.vm.albums=responseData.data;
    $log.debug(angular.toJson(responseData,true));
    //日志(vm.albums.tracks);
    返回vm.albums;
    })
    }
    函数getAlbumTracks(album$scope){
    $http.get('http://localhost:8080/api/albums/“+相册)。成功(函数(trackResponse){
    //解析每个专辑并获取曲目列表
    $scope.vm.albums.tracks=vm.albums.tracks.concat(trackResponse);
    返回vm.albums.tracks;
    })
    }
    }
    //HTML代码:
    你好
    


    我可以看到相册列表,但单击相册后获取曲目信息的第二个请求没有打印任何内容。如何实现这一点,有任何线索吗?感谢调用控制器的函数时,您应该在它们之前使用控制器别名。就像它们也属于控制器的
    上下文一样

    ng-click="vm.getAlbumTracks(album)"
    ng-click="vm.displayForm(track)"
    

    这个问题用一句话就解决了

    更改:


    vm.albums.tracks=getAlbumTracks;
    vm.getAlbumTracks=getAlbumTracks;

    谢谢,我意识到了这一点,我做到了。我会更新我的帖子。但它仍然不起作用我在任何地方都看不到displayForm函数:)@Alexrumbanick我还没有它,因为第一次getAlbumTracks本身不起作用,所以我不想把它扔到这里:)@noobcoder如果你用JS Fiddle或Plunkr创建一个示例项目,你可能会更快地得到一个准确的答案。查看你发布的代码,很明显重要的部分丢失了,所以很难给出一个不是猜测的答案。@noobcoder你是对的。替换
    $http.get()将模拟这部分代码
    使用
    $q.when([“模拟结果”])呼叫。
    让我们一起吧。感谢@Alex Rumba Nicked提供私人聊天并找出问题所在。现在一切正常。
    ng-click="vm.getAlbumTracks(album)"
    ng-click="vm.displayForm(track)"