在Angular中删除JSON对象

时间:2015-09-17 13:53:46

标签: javascript json angularjs

我有一个文件(courses.json),当我点击' x'在课程名称旁边。我是一个非常初学者,我无法真正开始工作。我从文件中读取没有问题,但是当我点击“x”时没有任何反应。非常感谢我能得到的所有帮助!

这是我的代码:

var app = angular.module('myApp', []);
app.controller('courses', function($scope, $http) {
    $http.get("courses.json").success(function(data) {
        $scope.courses = data.kurser;
    });
});

function courses($scope, courses) {
    $scope.deleteItem = function (key) {
        delete $scope.courses[key];
    }
}

HTML:

<div ng-app="myApp">
    <ul ng-controller="courses">
        <li ng-repeat="(key, value) in courses" id="course-{{value.courseId}}">
            <a href="#" class="courseIcon">{{value.courseName}}</a>  <a ng-click="deleteItem(key)">x</a>
        </li>
    </ul>
</div>

1 个答案:

答案 0 :(得分:1)

您应该在加载数据的相同控制器中定义deleteItem方法,否则courses函数无论如何都不会链接到应用程序:

app.controller('courses', function($scope, $http) {
    $http.get("courses.json").success(function(data) {
        $scope.courses = data.kurser;
    });

    $scope.deleteItem = function (key) {
        delete $scope.courses[key];
    }
});