Как удалить элемент в angularjs, используя foreach в модели Asp. net MVC - PullRequest
0 голосов
/ 28 января 2020

Я очень новичок в angularjs, и я хочу знать, как удалить элемент из модели внутри модели, используя foreach? Я использую asp. net MVC и angularjs

, например, в моей первой модели объекта,

public class WeekData    
{    
    public virtual ICollection<Name> Names{ get; set; }  
}

HTML

<div ng-repeat="week in model.WeekData">
     <tr ng-repeat="name in week.Names">
         <td><a type="button" ng-click="removeName(name.Id)"></td>
     </tr>
</div>

в AngularJs

$scope.removeName = function (index) {
    index.preventDefault();
    _.each($scope.model.WeekData, function (week) {
        _.each(week.Names, function (name, index) { 
            name.splice(index, 1)
        });
    });
};

Я надеюсь, что кто-то может ответить, я привык склеивать, но я не иметь представление, как использовать его в foreach. Заранее спасибо.

1 Ответ

0 голосов
/ 28 января 2020

Я заметил, что вы объединяете модели на стороне сервера в angular js, что не так, как работает angular.

Во-первых, вам нужно получить объект WeekData с сервера.

На стороне сервера создайте действие контроллера как -

public string GetWeekData(){


     JsonSerializer js = new JsonSerializer();
     return js.SerializeObject(model.WeekData);
}

На стороне клиента вы можете использовать модуль HttpClient.

Ввести Http, как показано ниже в вашем controller -

app.controller('myCtrl', function($scope, $http) {

Определить функцию для получения объекта WeekData с сервера ->

$scope.GetWeekDataObj = function()
{
    $http.get('<Path to API>').then(function(result){
    $scope.WeekData = result;
});

}

Функция для удаления объекта

$scope.Remove= function(name){
for(var i = 0; i <  $scope.WeekData.Names.length; i++ ){

if($scope.WeekData.Names[i] == name)  // compare as per the primary key
   $scope.WeekData.Names.splice(i,1);
}
}

Как только объект WeekdData станет доступным, затем вы можете перебрать

<table>
<tr ng-repeat="name in WeekData.Names">
<td>
<button ng-click="Remove(name)">Delete</button>
</td>
</tr>
</table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...