Angularjs 从JSON响应生成具有有效ng click操作的div
我试图从ajax响应构建多个div。下面是我正在使用的模块Angularjs 从JSON响应生成具有有效ng click操作的div,angularjs,Angularjs,我试图从ajax响应构建多个div。下面是我正在使用的模块 angular.module('appBuyItemModule', []) .controller('buyItemController', ['$scope', '$http', function ($scope, $http) { $scope.init = function () { $http({ method: 'GET',
angular.module('appBuyItemModule', [])
.controller('buyItemController', ['$scope', '$http', function ($scope, $http) {
$scope.init = function () {
$http({
method: 'GET',
url: '/get-items',
contentType: 'application/json',
}).success(function (response) {
for (let index = 0; index < response.length; index++) {
console.log(response[index]["item_name"]);
console.log(response[index]["item_brand"]);
console.log(response[index]["item_picture"]);
console.log(response[index]["item_description"]);
console.log(response[index]["item_quantity"]);
//Build the divs...
}
console.log('Success!!');
}).error(function () {
console.log('Error!!');
});
};
}]);
angular.module('appBuyItemModule',[])
.controller('buyItemController',['$scope','$http',函数($scope,$http){
$scope.init=函数(){
$http({
方法:“GET”,
url:“/get items”,
contentType:'应用程序/json',
}).成功(功能(响应){
for(让索引=0;索引
div应该构建在for循环中,并且它们必须允许onClick事件。我使用静态html添加了它,事件被成功触发,但我想用angularJS替换以下html代码:
<div class="col-md-3 col-sm-6 hero-feature">
<div class="thumbnail">
<img src="https://dsw.scene7.com/is/image/DSWShoes/377442_007_ss_01?$pdp-image$" alt="">
<div class="caption">
<h3>2-Feature Label</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
<p>
<button name="pink_shoes" ng-controller="buyItemController" class="btn btn-primary"
ng-click="info.item_number = 'item_2'; buy()">Buy Now
</button>
<button ng-controller="shopController" class="btn btn-default" ng-click="confirm()">More info
</button>
</p>
</div>
</div>
</div>
二维特征标签
Lorem ipsum dolor sit amet,奉献精英
立即购买
更多信息
例如:在“ng click=“info.item_number=”item_2'中;buy()“我想用'response[index][“item_name”]'替换'item_2',用我的json响应的图片链接等等。有人能告诉我正确的方向吗?我对angularJS比较陌生
我已经设法使它在JavaScript中部分工作,但它看起来非常糟糕,无法工作。请参见以下内容:
let itemsContainer = document.getElementById('items-container');
let ele = document.createElement('div');
itemsContainer.appendChild(ele);
ele.innerHTML = "<div class=\"col-md-3 col-sm-6 hero-feature\">\n" +
"<div class=\"thumbnail\">\n" +
"<img src=\"https://dsw.scene7.com/is/image/DSWShoes/377442_007_ss_01?$pdp-image$\" alt=\"\">\n" +
"<div class=\"caption\">\n" +
"<h3>2-Feature Label</h3>\n" +
"<p>response[index][\"item_description\"]</p>\n" +
"<p>\n" +
"<button name=\"response[index][\"item_brand\"]\" ng-controller=\"buyItemController\" class=\"btn btn-primary\"\n" +
" ng-click=\"info.item_number=\"response[index][\"item_name\"]\";buy()\">Buy Now\n" +
"</button>\n" +
"<button ng-controller=\"shopController\" class=\"btn btn-default\" ng-click=\"confirm()\">More info\n" +
"</button>\n" +
"</p>\n" +
"</div>\n" +
"</div>\n" +
"</div>";
let itemsContainer=document.getElementById('items-container');
设ele=document.createElement('div');
itemsContainer.appendChild(ele);
ele.innerHTML=“\n”+
“\n”+
“\n”+
“\n”+
“2-功能标签\n”+
“响应[索引][\“项目描述\”]\n”+
“\n”+
“立即购买\n”+
“\n”+
“详细信息\n”+
“\n”+
“\n”+
“\n”+
“\n”+
"";
根据您的要求,您需要使用标记,该标记将在您的对象数组中循环并以HTML显示,请检查以下示例,如果有任何疑问,请告诉我
var-app=angular.module('myApp',[]).controller('MainCtrl',function MainCtrl($scope){
$scope.records=[{
“姓名”:“阿尔弗雷德·富特基斯特”,
“国家”:“德国”,
图像:“https://via.placeholder.com/150"
}, {
“姓名”:“Berglunds snabbköp”,
“国家”:“瑞典”,
图像:“https://via.placeholder.com/150"
}, {
“名称”:“商业中心Moctezuma”,
“国家”:“墨西哥”,
图像:“https://via.placeholder.com/150"
}, {
“名称”:“恩斯特·汉德尔”,
“国家”:“奥地利”,
图像:“https://via.placeholder.com/150"
}];
$scope.onClick=函数(项){
console.log('from event',item);
}
});
-
{{record.Name}}
{{record.Country}
success方法。很好的例子。这正是我所缺少的。我试图在JS文件中构建div,而它必须在html文件中。