2016-01-19 2 views
-1

i m новый для углового и i m с использованием углового для моего проекта. Я не знаю, как взять функцию экземпляра из оригинала.Как выполнить функцию экземпляра в angularjs

Моя Функция BLW

$scope.collapsedrow = true; 
    $scope.PlusClick = function(event) { 
      $scope.collapsedrow = false; 
      $scope.expandedrow = true; 

    }; 
    $scope.MinusClick = function(event) { 
      $scope.collapsedrow = true; 
      $scope.expandedrow = false; 
    }; 

У меня есть так много строк. Все строки расширяемы/сбрасываются. Когда я нажимаю функцию PlusClick в любой строке, она откроет соответствующие строчки. То же самое для всех остальных строк. теперь я могу использовать его только для одной строки, поскольку она затрагивает глобально.

Можете ли вы помочь мне разрешить его

+1

Может быть, вы должны думать о магазине в collapsedrow флаг и expandedrow на уровне строк, а не на глобальном уровне. – sdfacre

+0

как вы выводите строки? можете ли вы предоставить html? – Grundy

+0

мог бы предоставить любой образец кода в jsfiddle? –

ответ

0

Если вы хотите сделать это для каждой строки, они должны иметь специальное свойство.

app.controller('AppController', 
[ 
    '$scope', 
    function($scope) { 
    $scope.persons = [ 
     {id: 1, Name:'John',visible:true}, 
     {id: 2,Name:'Mark',visible:true}, 
     {id: 3,Name:'Sam',visible:true}, 
     {id: 4, Name:'Edward',visible:true}, 
     {id: 5, Name:'Michael',visible:true} 
    ]; 

    $scope.collapsedrow = true; 
    $scope.PlusClick = function(item) { 
      item.visible = true; 

    }; 
    $scope.MinusClick = function(item) { 
      item.visible = false; 
    }; 

    } 
] 
); 

<ul> 
    <li ng-repeat="person in persons" ng-show="person.visible"> 
    {{person.Name}} 
    <button ng-click="PlusClick(person)">+</button> 
    <button ng-click="MinusClick(person)">-</button> 
    </li> 
</ul> 

Вот Plunker

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