小编fik*_*kry的帖子

从AngularJS模板字符串生成HTML字符串

我将angularjs模板作为包含"ng-repeat"和其他指令的字符串.我想在控制器中编译它以生成结果HTML作为字符串.

关于我想在Angular中应用的内容的示例:

Input:
-------
var template = '<div ng-repeat="item in items">{{item.data}}</div>';

Output:
--------
var result = '<div>1</div><div>2</div><div>3</div><div>4</div>';
Run Code Online (Sandbox Code Playgroud)

我想在控制器中完成这个,我尝试了以下内容:

var template = '<div ng-repeat="item in items">{{item.data}}</div>';
var linkFunction = $compile(template);
var result = linkFunction($scope);

console.log(result); // prints the template itself!
Run Code Online (Sandbox Code Playgroud)

谢谢!

javascript angularjs

11
推荐指数
1
解决办法
1万
查看次数

Angularjs groupBy + orderBy

我正在使用angular-filter中的 groupBy来按日期属性对对象数组进行分组.

<div ng-repeat="(day, dayEvents) in events | groupBy: 'date' )">
 <h3>{{ day | date: mediumDate }}</h3>
</div>
Run Code Online (Sandbox Code Playgroud)

产生以下内容:

Feb 9, 2015 
Feb 10, 2015 
Feb 11, 2015 
Feb 12, 2015 
Run Code Online (Sandbox Code Playgroud)

如何从最近的日期开始撤销订单?当我打印到控制台时,阵列打印出我想要的顺序:

  Object {
     1423699200000: Array[1],
     1423612800000: Array[7],
     1423526400000: Array[11],
     1423440000000: Array[1]
 }
Run Code Online (Sandbox Code Playgroud)

我还写了一个自定义过滤器来反转groupBy之后的顺序:

.filter("reverseOrder", function() {
        function sortNumber(a,b) {
            return  parseInt(b) - parseInt(a);
        }
        return function(collection) {
            var keys = Object.keys(collection).sort(sortNumber);
            var reveredCollection= {};
            var length=collection.length;
            angular.forEach(keys, function(key) {
                reveredCollection[key] = collection[key];
            });
           return reveredCollection;
        }
    })
Run Code Online (Sandbox Code Playgroud)

我申请了这样的: …

javascript angularjs angularjs-filter

10
推荐指数
1
解决办法
3万
查看次数

刷新生产服务器上的angularjs更改时出现问题

当我对angularjs应用程序进行更改时,会出现一个反复出现的问题.问题是如果我想对我所做的更改进行播种,我必须刷新页面.这是一个问题,因为我不希望我的用户必须刷新页面(他们可能不知道这样做).他们可能认为该网站已被破坏.我可以遵循某种角度指令或流程,这样我的UI更改就可以反映在我的生产服务器上而无需用户刷新页面吗?

javascript-events page-refresh angularjs

7
推荐指数
1
解决办法
9763
查看次数

Angularjs:如何在Directive中读取对象

我已经从控制器传递了一个对象到指令,但是当我在指令中读取对象时我无法进行,它似乎在指令对象中被读为string.Code在下面,我想从对象中读取City和State.

Html File

<div ng-controller="WeatherController">    
<div weather ng-object="{{Object}}"></div>
</div>

Controller
.controller('WeatherController', ['$scope', function ($scope) {
   $scope.webpartData.OverviewData.Person.Address.City;
            $scope.Object = {
                City: '',
                State: ''
            };
            $scope.Object.City = 'TestCity';
            $scope.Object.State = 'TestState';         
        });
    })
}])


Directive


angular.module('WeatherModule', [])
.directive('Weather', ["$timeout", function($timeout) {
    return {
        restrict: 'EA',
        template: '<div id="weather"></div>',
        scope: {
            ngObject: '@ngObject'
        },
        link: function(scope, element, attrs) {
            scope.$watch('ngObject', function(value) {
                scope.ngObject = value;
            });
            $timeout(function() {
                console.log('Location' + scope.Object.City + ',' + scope.Object.State);
            }, 100);
        }
    };
}])
Run Code Online (Sandbox Code Playgroud)

angularjs angularjs-directive angularjs-scope

2
推荐指数
1
解决办法
870
查看次数