Я пытался использовать ng-if внутри ng-repeat, но кажется, что ng-if работает неправильно.
Я сослался на пару ссылок на форум в StackOverflow, но это мне не помогает.
Я использую угловую версию 1.3.0.
HTML
<!DOCTYPE html>
<html ng-app="myModule">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<script src="/js/lib/angular-1.3.0/angular.js"></script>
<script src="/js/lib/controllers/ifRepeatController.js"></script>
</head>
<body>
<div ng-repeat = "data in comments">
<div ng-if="data.type == 'hootsslllll' ">
//differnt template with hoot data
</div>
<div ng-if="data.type == 'story' ">
//differnt template with story data
</div>
<div ng-if="data.type == 'article' ">
//differnt template with article data
</div>
</div>
</body>
</html>
Контроллер
var myIfRepeat = angular.module('myIfRepeat',[]);
myIfRepeat.controller('IfRepeatController', function ($scope,$http) {
$scope.comments = [
{"_id":"1",
"post_id":"1",
"user_id":"UserId1",
"type":"hoot"},
{"_id":"2",
"post_id":"2",
"user_id":"UserId2",
"type":"story"},
{"_id":"3",
"post_id":"3",
"user_id":"UserId3",
"type":"article"}
];
});
Согласно первому условию, первая строка не должна отображаться (см. скриншот ниже для получения дополнительной справки), однако строка отображается.
справочная ссылка: Использование ng-if внутри ng-repeat?
Теперь я добавил контроллер в div, как и советовали, однако столкнулся с той же проблемой.
Ниже я привел скриншот для справки. Пожалуйста, помогите мне, как решить эту проблему, и, пожалуйста, дайте мне знать в случае дальнейших разъяснений.
Ниже приведен скриншот рабочей модели, использующей версию angular 1.3. Если мы используем angular 1.0.2, nf-if не будет работать должным образом (ниже приведен скриншот)
Снимок экрана для угловой версии 1.0.2