angularjs教程代码调试
angularjs tutorial code debug
我通过一本Apress书学习angularjs,遇到了一些不起作用的代码,我试图调试,但我的控制台没有给我任何错误或任何东西。也许一些专家可以指导我解决问题,谢谢。
customFilters.js文件
// Creating a custom filter
// arguments for the filter method is unique and a factory function that returns a filter function that does the actaul work
angular.module('customFilters',[]).filter('unique', function() {
return function(data, propertyname) {
if (angular.isArray(data) && angular.isString(propertyname)) {
var results = [];
var keys = {};
for (var i = 0; i < data.length; i++) {
var val = data[i][propertyname];
if (angular.isUndefined(keys[val])) {
keys[val] = true;
results.push(val);
}
}
return results;
} else {
return data;
}
}
});
sportsStore.js文件
//declaring a dependency called customFilters that contains a unqiue filter
angular.module('sportsStore',['customFilters']);
// calling the angular.module method passing in sportsStore located in app.html
angular.module('sportsStore').controller('sportsStoreCtrl', function($scope) {
$scope.data = {
products: [
{name: "Product 1", description:"A product", category:"Category #1", price: 100},
{name: "Product 2", description:"A product", category:"Category #1", price: 110},
{name: "Product 3", description:"A product", category:"Category #2", price: 210},
{name: "Product 4", description:"A product", category:"Category #3", price: 202}
]
};
});
我的productListControllers.js文件
angular.module('sportsStore').controller('productListCtrl', function($scope,$filter){
var selectedCategory = null;
$scope.selectedCategory = function(newCategory) {
selectedCategory = newCategory;
};
$scope.categoryFilterFn = function(product) {
return selectedCategory == null || product.category == selectedCategory;
};
});
app.html文件
<!DOCTYPE html>
<!-- We are defining the sportStore module here in the html tag-->
<html ng-app="sportsStore">
<head>
<title>Sports Store</title>
<link href="bootstrap.min.css" rel="stylesheet" />
<link href="bootstrap-theme.min.css" rel="stylesheet" />
</head>
<!-- Applying ng-controller to the body tagg -->
<body ng-controller="sportsStoreCtrl">
<div class="navbar navbar-inverse">
<a class="navbar-brand" href="#">Sports Store</a>
</div>
<div class="panel panel-default row" ng-controller="productListCtrl">
<div class="col-xs-3">
<a class="btn btn-block btn-default btn-lg" ng-click="selectCategory()">Home</a>
<!-- generating the navigation elements here -->
<a class="btn btn-block btn-default btn-lg" ng-repeat="item in data.products |orderBy:'category'| unique:'category'" ng-click="selectCategory(item)">{{item}}</a>
</div>
<div class="col-xs-8">
<!-- ng-repeat generates elements for each object in an array -->
<!-- we also create a local variable called item -->
<div class="well" ng-repeat="item in data.products | filter:categoryFilterFn">
<h3>
<strong>{{item.name}}</strong>
<span class="pull-right label label-primary">{{item.price | currency}}</span>
</h3>
<span class="lead">{{item.description}}</span>
</div>
</div>
</div>
<script src="angular.js"></script>
<script src="controllers/sportsStore.js"></script>
<script src="filters/customFilters.js"></script>
<script src="controllers/productListControllers.js"></script>
</body>
</html>
您的html文件中有一个拼写错误。已选择该功能Category而未选择Category。
有一个打字错误,模板显示selectCategory
,控制器显示selectedCategory
相关文章:
- 如何调试Javascript代码或函数
- 调试此代码?警报不起作用
- 如何在 JavaScript 代码中调试点击事件处理
- 调试一个简单的jQuery函数;想知道是否与其他代码冲突
- 广告块加调试,undersanding代码库
- 使用Google闭包编译器调试代码删除
- 如何使用SAML和C#调试Windows Phone 8.1应用程序的Javascript代码
- 在vs.net 2010中调试JavaScript代码
- 如何使eval'd调试器可访问的javascript代码
- 在与WebPack捆绑的Visual Studio中调试JavaScript代码
- 如果调试器关闭,Internet Explorer将出现运行代码问题
- 是否有可能在 WebBrowser 控件中调试 JavaScript 代码
- 如何调试遗留的javascript代码(适用于IE,但在Google Chrome中不正常)
- 使用闭包编译器简单优化从函数内部删除调试代码
- 如何使用 Google Closure API 移除调试代码
- 在部署到生产环境时设置开发环境标志并消除调试代码
- 动态启用/禁用调试代码
- 如何使用WebMatrix和Visual Studio调试代码
- JavaScript forEach()调试:代码审查
- Javascript结构,以便轻松地提供不同级别的调试代码