2016-06-17 4 views
-1

Я использую AngularJSнг-если условие всегда терпит неудачу

<div ng-repeat="l in kites"> 
    <a ng-click="findit(l.green.num)">color</a> 
    <span ng-if="c_{{l.green.num}} == 'y'>kites is </span> 
    </div> 

В моем контроллере у меня есть

$scope.cnt=[]; 
$scope.findit = function(c){ 
$scope.cnt.push(c); 
    angular.forEach($scope.cnt, function(value, key){ 
     $scope['c_'+value] = 'y' ; 

    }) 
} 

Моя проблема в том, что я не получаю значение диапазона даже условие падает верно .. означает в то время как l.green.num есть 5, c_5 ='y'. Но это не принимается в условии if. Пожалуйста, помогите мне.

+1

Можете ли вы поделиться тем же с помощью jsfiddle –

+0

В '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '! –

+0

где php? вопрос с меткой 'php' –

ответ

1

Ниже ваше решение:

var $scope; 
 
var app = angular.module('miniapp', []); 
 

 
function Ctrl($scope) { 
 
\t $scope.kites = [{ 
 
    \t 'green':{ 
 
    \t 'num':1 
 
    } 
 
    }] 
 
    $scope.cnt = []; 
 
    $scope.findit = function(c) { 
 
    $scope.cnt.push(c); 
 
    angular.forEach($scope.cnt, function(value, key) { 
 
     $scope['c_' + value] = 'y'; 
 

 
    }) 
 
    } 
 

 
};
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="miniapp" ng-controller="Ctrl"> 
 
    <div ng-repeat="l in kites"> 
 
    <a ng-click="findit(l.green.num)">color</a> 
 
    <span ng-show="{{'c_'+l.green.num}} == 'y'">kites is </span> 
 
    </div> 
 
</div>

+0

Это то, что я точно нуждаюсь. спасибо – athi

+0

Пожалуйста, проголосуйте, поскольку это мотивирует нас больше вкладывать в переполнение стека. Благодарю. –

0

Я не уверен, что вы можете использовать скобки в условиях ng-if. Это не будет интерполировать значение перед оценкой.

Что вы можете сделать, это добавить «выбранное» значение вашему кайту при нажатии. Пример:

Контроллер

$scope.findit = function(c){ 
    c.selected = true; 
} 

Посмотреть

<div ng-repeat="l in kites"> 
    <a ng-click="findit(l.green)">color</a> 
    <span ng-if="l.green.selected">kites is </span> 
</div> 
Смежные вопросы