2016-07-13 3 views
-3

У меня есть две таблицы: site и ip.Угловой толчок не является функцией

site: site_id, имя

ip: ip_id, site_id, ip_adress

Я должен показать список ip_adress сайта.

HTML

<div class="form-group" style="margin-bottom: 0px;"> 
    <label class="col-sm-6 control-label"> 
     <button style="margin-bottom:5px;" ng-click="addIp($index)"> 
     <span class="glyphicon glyphicon-plus"></span> 
     </button> 
    </label> 
    <div class="col-sm-6"> 
     <ul style="list-style-type: none"> 
      <li ng-repeat="ip in site.ips track by $index"> 
      <div class="input-group" > 
       <input type="text" class="form-control input-sm" name="ip_adress" style="display: inline;" ng-model="ip.ip_adress" required /> 
        <div class="input-group-addon"> 
        <i class="glyphicon glyphicon-remove-circle" ng-click="removeIp(site, ip, $index)"></i> 
        </div> 
       </div> 
      </li> 
     </ul> 
    </div> 
</div> 

JavaScript

$scope.addIp = function(index){ 
    $scope.sites[index].ips[index].ip_adress.push(""); 
} 

Он выдает эту ошибку:

$scope.sites[index].ips[index].ip_adress.push is not a function

Ips является набор Ip объекта, и ip_adress является строка. Как я могу решить эту проблему?

+0

она должна быть 'ip_address' –

+0

* "ip_adress строка" * - Да , а строки не имеют метода '.push'. Что вы ожидаете от этого? – deceze

+0

you saiid, ip_adress - это строка, push не является функцией строки, ее следует использовать с массивом. – Deep

ответ

-3

Вы должны нажать в массив, как: $scope.sites[index].ips.push(<here_goes_your_object_with_ip_string>);

если ips является массивом

+0

Спасибо за помощь, я разрешаю это. '$ scope.sites [индекс] .ips.push ({ \t \t \t \t \t \t ip_id: "", \t \t \t \t \t \t SITE_ID: $ scope.sites [индекс] .site_id, \t \t \t \t \t \t ip_adress: "", \t \t \t \t}); ' Но теперь, когда я сохранить или м ake изменение путем вызова 'site. $ update()', параметр сайта ip-объекта имеет значение NULL. Как я могу это решить? –

-4

Использование

$scope.addIp = function(index){ 
    $scope.sites[index][ips[index]]['ip_adress'].push(""); 
} 
+0

Спасибо за помощь, я ее разрешаю. '$ scope.sites [index] .ips.толчок ({ \t \t \t \t \t \t ip_id: "", \t \t \t \t \t \t site_id: $ scope.sites [индекс] .site_id, \t \t \t \t \t \t ip_adress: "", \t \t \t \t}); ' Но теперь, когда я сохраняю или делаю модификацию, вызывая' site. $ Update() ', параметр сайта ip-объекта равен n Улла. Как я могу это решить? –

Смежные вопросы