更改Http.get Url并再次显示在ng-repeat中

时间:2014-11-07 09:48:13

标签: angularjs

我有返回数据的网址 我用角度

读取数据
  var appModule;
(function () {
    appModule = angular.module('Ryka', []);
    appModule.controller('TaskControler', ['$scope', '$http', function (scope, http) {
        scope.mytask = mytask;
        http.get('http://localhost/_vti_bin/RykaSolution/RykaService.svc/MyOverDueTasks/first').success(function (data) {
        scope.Tasks = data}).error(function (err) { alert(err) })
    }]);
})();

我想使用ng-click更改http.get url ...此代码在页面加载时执行

1 个答案:

答案 0 :(得分:1)

你可以这样做(简化例子):

(function () {
    var appModule = angular.module('Ryka', []);

    appModule.controller('TaskControler', ['$scope', '$http', function (scope, http) {
        scope.tasks = undefined;

        $scope.getTasks = function (type) { 
            http.get('http://localhost/tasks/' + type).success(function (data) {
                scope.tasks = data
            }).error(function (err) { 
                // Handle error
            })
        }

        // Initial loading of data.
        $scope.getTasks("overdue");

    }]);
})();

只是一点点解释。调用$scope.getTasks("overdue")会产生如下网址:

http://localhost/tasks/overdue

然后你可以在你的视图中调用相同的方法:

<a ng-click="getTasks('current')">Get my current tasks</a>

会产生这样的网址:

http://localhost/tasks/current

我希望你有想法。

PS:将getTask方法移到service中会更好。