我有下面的angularJS代码,直到昨天为止,它的运行状况都很好。我不知道为什么这不能正常工作,但没有显示无响应的角度标签{{variable}},因此我假设我已连接到ng应用程序。如前所述,本地主机成功检索了我的数据源,并且在开发人员工具中可以看到所有正确的内容都在那里。我已经搜索了任何次要的语法错误,却找不到任何我完全困惑的原因,不管为什么。
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");
});
});
<!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配置有关,还是我缺少明显的东西。
答案 0 :(得分:1)
您的“ ng-innit”中有错字,请用“ ng-init”代替。