ng-if & ng-show не удалось переключить видимость таблицы - PullRequest
0 голосов
/ 05 апреля 2019

У меня есть код angularJS, который работал до вчерашнего дня. Я понятия не имею, почему это не работает, неотвечающие угловые теги {{variable}} не отображаются, поэтому я предполагаю, что я подключен к своему приложению ng. Как уже говорилось, ничего не изменилось, мой источник данных успешно извлечен localhost, и я вижу в инструментах разработчика, что все правильное содержимое есть. Я искал любые незначительные синтаксические ошибки и не могу найти что-либо, что я полностью озадачен, почему это не работает.

нг-приложение

var app = angular.module("viewJSON",[]);
app.controller("viewCtrl",function Hello($scope, $http) {
       $http({
            method: 'GET',
            url: './data.json'
        }).then(function (response){
            $scope.products = response.data;

        },function (error){
            console.log("error");
        });
    });

HTML

<!DOCTYPE html>
<html ng-app="viewJSON">
<head>
   <link rel="stylesheet" href="home-page.css">
   <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
   <script src="home-page.js"></script>
</head>

<body ng-controller="viewCtrl">
    <div class="wrap">
        <div class="search" ng-innit="x=0">
            <b>Product Name:</b> <input type="text" ng-model="searchName" class="searchTerm" ng-keydown="x = x+1"><br>
            <b>Product Brand:</b> <input type="text" ng-model="searchBrand" class="searchTerm" ng-keydown="x = x+1">
        </div>
    </div>
    <div>
        <table class="resultContent" ng-if="x > 0">

            <tr>
                <th>Brand</th>
                <th>Name</th>
                <th>Price</th>
                <th>Retailer</th>
                <th>Image</th>
            </tr>

            <tr id="rows" ng-repeat="item in products" ng-if="searchName.length != 0 && searchBrand.length != 0" ng-show="item.name.includes(searchName) && item.brand.includes(searchBrand)">
                <td class="otherCol">{{ item.brand }}</td>
                <td class="otherCol">{{ item.name }}</td>
                <td class="otherCol">{{ item.price }}</td>
                <td class="otherCol">{{ item.retailer }}</td>
                <td class="imageCol"><img ng-src="{{ item.image_url}}"></td>
            </tr>

        </table>
    </div>
</body>
</html>

Я попытался поместить скрипт внизу страницы чуть выше закрывающего тега body, как уже говорилось ранее, я считаю, что angular отзывчив, поскольку я не вижу {{x}} тегов на моей веб-странице. Данные анализируются в объекте js без исключения ошибки также. Как уже говорилось, вчера код работал нормально, это может быть связано с моей конфигурацией localhost или я упустил что-то очевидное.

1 Ответ

1 голос
/ 05 апреля 2019

В вашем ng-innit есть опечатка, замените ее на ng-init.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...