ng-options:
*ng-model
<select class="bs-select form-control" ng-model="queryModel.gl_code" ng-options="c.gl_code as c.gl_name for c in queryModel.category"></select>
*注意接口异步操作
for循环接口异步操作,递归解决
$scope.food = function() { $scope.hashModel = { hash: 0 } $scope.filter.data = [] $scope.filter.hashData = hashSignature($scope.hashModel); goodsService.queryTopCategory(13, $scope.filter.hashData.time, $scope.filter.hashData.rannum, $scope.filter.hashData.signature).then(function(result){ // console.log(result); $scope.sub = function(i){ if(i == result.length) { $('#tree_1').jstree({ 'core' : { "multiple": false,//单选, "themes":{ "theme" : "classic", "dots" : true, "icons" : false }, 'data' : $scope.filter.data } }); } else { $scope.filter.hashData = hashSignature($scope.hashModel); goodsService.querySubClassification(14, $scope.filter.hashData.time, $scope.filter.hashData.rannum, $scope.filter.hashData.signature, result[i].gl_code).then(function(result2){ // console.log(result2) var children = []; for(var j = 0; j < result2.length; j++) { children.push({'text': result2[j].gl_name, 'id': result2[j].gl_code}); } $scope.filter.data.push({'text':result[i].gl_name,'id': result[i].gl_code, 'children': children}); $scope.sub(i+1); }); } } $scope.sub(0); }); $('#tree_1').on("changed.jstree", function (e, data) { // console.log("The selected nodes are:"); // console.log(data.selected); // console.log(data.instance.get_node(data.selected[0]).text); if(data.selected[0].length == 4) { $scope.filter.goodSubmit = 1; $scope.addModel.gl_code = data.selected[0]; $scope.addModel.gl_name = data.instance.get_node(data.selected[0]).text; } else { $scope.filter.goodSubmit = 0; } }); $('#basic').modal('show'); }
MetronicApp.controller('productionGoodsManageController', function ($rootScope, $scope, $http, $timeout, goodsService) { $scope.table = $('#sample_2').DataTable(); /*$scope.info = $scope.table.page.info(); console.log($scope.info);*/ $scope.queryModel={ c_id: "f3f3c9bf-d91a-4d1f-b338-dedadff6c35f", g_name: '', gl_code: "", g_type: 0, page: 1, rows: $scope.table.page.info().length }; $scope.productModel = { pages: '', products: [] }; $scope.filter = { show_len: 5, turn_len: 2, g_types: [{code: 0, type: "标准商品"},{code: 1, type: "非标准商品"}], g_type_array: ["标准商品","非标准商品"], gll_code: "01" }; $scope.loopQuery = function(p) { //alert(p) while($scope.queryModel.page < p) { $scope.queryModel.page++; $scope.filter.hashData = hashSignature($scope.queryModel); goodsService.getMemberInfo(15, $scope.filter.hashData.time, $scope.filter.hashData.rannum, $scope.filter.hashData.signature, $scope.queryModel).then(function(result){ //console.log(result); for(var i = 0; i < $scope.queryModel.rows; i++) { $scope.productModel.products.push(result.products[i]); } // console.log($scope.productModel); }); } }; //查询所有一级商品分类信息 $scope.filter.hashData = hashSignature($scope.queryModel); goodsService.queryTopCategory(13, $scope.filter.hashData.time, $scope.filter.hashData.rannum, $scope.filter.hashData.signature).then(function(result){ // console.log(result); $scope.filter.category = result; // console.log($scope.filter.category); // alert($scope.queryModel.category[0].gl_name) }); //根据父级商品分类编号查询子集商品分类 /*$scope.filter.hashData = hashSignature($scope.queryModel); goodsService.querySubClassification(14, $scope.filter.hashData.time, $scope.filter.hashData.rannum, $scope.filter.hashData.signature, $scope.filter.gll_code).then(function(result){ // console.log("sub"); $scope.queryModel.gl_code = result[0].gl_code; $scope.filter.sub = result; // console.log($scope.filter.sub); })*/ //根据父级商品分类编号查询子集商品分类 $scope.querySub = function() { $scope.filter.hashData = hashSignature($scope.queryModel); goodsService.querySubClassification(14, $scope.filter.hashData.time, $scope.filter.hashData.rannum, $scope.filter.hashData.signature, $scope.filter.gll_code).then(function(result){ // console.log("sub"); $scope.queryModel.gl_code = result[0].gl_code; $scope.filter.sub = result; // console.log($scope.filter.sub); }) } $scope.query = function() { /*$scope.info = $scope.table.page.info(); console.log($scope.info);*/ $scope.queryModel.page = 1; $scope.filter.hashData = hashSignature($scope.queryModel); goodsService.getMemberInfo(15, $scope.filter.hashData.time, $scope.filter.hashData.rannum, $scope.filter.hashData.signature, $scope.queryModel).then(function(result){ // console.log(result); $scope.productModel.pages = result.paramcentcount; $scope.productModel.products = result.paramData; //$scope.productModel.pages = 3; $scope.loopQuery(Math.min($scope.productModel.paramcentcount, $scope.filter.show_len)); }); }; /*$(".next").click(function () { //alert("next") }); $(".prev").click(function () { //alert("prev") });*/ $(".input-sm").change(function(){ //alert($(this).children('option:selected').val()); $scope.queryModel.rows = $(this).children('option:selected').val(); var ap = $scope.table.page.info().page; var total = $scope.table.page.info().recordsTotal; $scope.queryModel.page = parseInt(total/$scope.queryModel.rows); var surplus = total%$scope.queryModel.rows; if(surplus != 0) { $scope.productModel.products.splice($scope.queryModel.page*$scope.queryModel.rows+1, surplus); } $scope.queryModel.page++; $scope.filter.hashData = hashSignature($scope.queryModel); goodsService.getMemberInfo(15, $scope.filter.hashData.time, $scope.filter.hashData.rannum, $scope.filter.hashData.signature, $scope.queryModel).then(function(result){ //console.log(result); $scope.productModel.pages = result.pages; for(var i = 0; i < $scope.queryModel.rows; i++) { $scope.productModel.products.push(result.products[i]); } console.log($scope.productModel); }); if(ap + $scope.filter.turn_len > $scope.queryModel.page) { $scope.loopQuery(Math.min(ap + $scope.filter.turn_len, $scope.productModel.pages)); } }); $(".pagination").bind("click", "a", function() { var ap = $scope.table.page.info().page; if(ap + $scope.filter.turn_len > $scope.queryModel.page) { $scope.loopQuery(Math.min(ap + $scope.filter.turn_len, $scope.productModel.pages)); } // alert($scope.queryModel.page + " in " + $scope.queryModel.pages); }); /*var table = $('#sample_2').DataTable(); $('#sample_2').on( 'page.dt', function () { var info = table.page.info(); alert(info.page + " " + info.pages) //$('#pageInfo').html( 'Showing page: '+info.page+' of '+info.pages ); } );*/ });
ng-bind-html:
<div ng-repeat="article in articles"> <div class="panel-heading"> <h4><b>{{article.title}}</b></h4> </div> <div class="panel-body"> <article id="word-display" ng-bind-html="article.content | trustHtml"> </article> </div> </div>
success(function (data) { $scope.articles = data; }); myApp.filter('trustHtml', function ($sce) { return function (input) { return $sce.trustAsHtml(input); } });
$interval:
var timer = $interval(function(){ }, 100, 3); timer.then(function(){ console.log("done"); }); var timer = $interval(function(){},100, 10); timer.then(success, error, notify); function success(){ console.log("done"); } function error(){ console.log("error"); } function notify(){ console.log("每次都更新"); } var timer = $interval(function(){},100, 10); this.cancel = function(){ $interval.cancel(timer); }