GVKun编程网logo

使用AngularJS,我如何随机化集合的顺序?(angularjs遍历数组)

7

在本文中,我们将为您详细介绍使用AngularJS,我如何随机化集合的顺序?的相关知识,并且为您解答关于angularjs遍历数组的疑问,此外,我们还会提供一些关于angular2–我如何在angul

在本文中,我们将为您详细介绍使用AngularJS,我如何随机化集合的顺序?的相关知识,并且为您解答关于angularjs遍历数组的疑问,此外,我们还会提供一些关于angular2 – 我如何在angular 2中使用angular.copy、angularjs – Angular JS:使用Angular有哪些问题/陷阱?、angularjs – IE使用NTLM身份验证时随机发送空POST主体(使用angular to Spring)、angularjs – 使用Angular,我如何将click事件绑定到元素上,并单击后,向下滑动一个兄弟元素?的有用信息。

本文目录一览:

使用AngularJS,我如何随机化集合的顺序?(angularjs遍历数组)

使用AngularJS,我如何随机化集合的顺序?(angularjs遍历数组)

您如何以随机顺序订购AngularJS中的项目列表?我当时以为内置orderBy过滤器会起作用,但是我不确定在不向模型中添加一些其他数据的情况下如何工作。这样的东西会很棒。

item in items | orderBy:random

我的下一个想法是创建一个自定义过滤器,但如果已有更好的选择,我宁愿避免这种情况。

答案1

小编典典

编辑警告! :这些结果是歪斜的,请勿使用此结果。该答案仅作为警告,直到进一步编辑为止。

说明 :任何项目位于第一位置的机会均应相等,但是经过10,000次迭代(例如6个项目)后的实际百分比机率最终为

1:〜28%,2:〜10%,3:〜14%,4:〜20%,5:〜12%,6:〜15%

https://jsfiddle.net/sh0ber/km9cqvpf/

orderBy可以接受一个函数参数,就像array.sort这样,您可以使用上面的HTML并random在范围内定义一个函数,例如:

$scope.random = function(){    return 0.5 - Math.random();};

这将返回一个随机值,有时为负,有时为正,有时为0,该值将对数组进行随机排序。

angular2 – 我如何在angular 2中使用angular.copy

angular2 – 我如何在angular 2中使用angular.copy

我如何复制一个对象,并失去它在角2的参考?
使用angular 1我使用angular.copy(对象),但我得到一些错误使用角2。

EXCEPTION:ReferenceError:angular未定义

假设你使用ES6,你可以使用var copy = Object.assign({},original)。在现代浏览器中工作;如果你需要支持旧的浏览器检查这个 polyfill

更新:

使用TypeScript 2.1,ES6简写对象扩展符号可用:

const copy = { ...original }

angularjs – Angular JS:使用Angular有哪些问题/陷阱?

angularjs – Angular JS:使用Angular有哪些问题/陷阱?

当我开始使用Angular构建真实且更复杂的应用程序时,我可能会遇到哪些陷阱/问题/痛苦?
我正在开展一项新工作,并建议将Angular(和Bootstrap)作为构建我们所有网络应用程序的基础.在使用backbone.js将近1.5年之后,我知道我不想使用它…我们有一个Node MongoDB后端,并且在任何客户端堆栈中都没有真正的投资.一个独特之处在于我们有一些大数据 – 一个集合可以达到10个大小的演出,拥有数亿个记录……我已经阅读并使用Angular过去两周左右而且还没有真的发现任何不好的事情.

解决方法

真的没有陷阱:)

关于一个可能不那么狂热的解释:AngularJS(据我所知)比骨干更加自以为是 – 大多数流程都很容易执行(显示数据,处理交互)但是遵循更严格的模式这样做.据说它使得angularJS比骨干更难弯曲到你的特定标准,但我发现它并非如此.此外,该系统的一些缺点正在迅速消失,因为它正在快速发展.

以防万一:路由系统是angularJS的一个较小的方面,因为它通常不是很灵活(没有路由继承,没有状态机)…我开始使用变通方法制作应用程序,结果证明非常干净,然而,角度ui的人们提出了solid solution,类似的解决方案必然会出现在角度本身.

动画指令也是一个缺点(动画对象的外观和消失是棘手的,因为它们需要存在直到动画结束,并且必须进行管理)并且还有解决方法,但核心动画系统是在角度1.1.4,here于4月4日推出,所以你看,它正在迅速发展:)

关于学习曲线:它有一些,但没有任何有你经验的人无法在很短的时间内处理. This series of video tutorials是我所知道的最好的资源,作为理解大多数事情要点的简单方法(文档足够好并且变得更好,但在某些地方缺乏适用的例子,它会真正帮助 – 或者缺乏,它们可能会更好到现在为止 – “初学者教程”也是可怕的,我个人讨厌长时间运行,一步一步的教程)

希望能帮助到你!

angularjs – IE使用NTLM身份验证时随机发送空POST主体(使用angular to Spring)

angularjs – IE使用NTLM身份验证时随机发送空POST主体(使用angular to Spring)

我们看到IE 11中缺少POST的看似随机调用的问题.进一步检查后,来自浏览器的请求包括NTLM协商令牌.我们也经常在GET上看到这个标记,但它们不受身体问题的影响,因为它们没有. Chrome和FF没有此问题.

进一步的调查显示,如果我们的会话超时并且浏览器被重新刷新,那么我们将在此之后以大约1-2分钟的间隔始终看到此问题.我的理解是,如果IE“期望”401,那么它将不包括POST主体,因为期望再次发生NTLM握手.

我们有一个角度app(目前混合Angular 1和2,但在此之前发生在1).角度应用程序使用对我们的Spring启动应用程序进行restful webservice调用.我们使用华夫饼为NTLM auth

// Shiro-Waffle / Security
'com.github.dblock.waffle:waffle-parent:1.7.3','com.github.dblock.waffle:waffle-shiro:1.7.3','org.apache.shiro:shiro-core:1.2.3','org.apache.shiro:shiro-web:1.2.3',

https://blogs.msdn.microsoft.com/ieinternals/2010/11/21/challenge-response-authentication-and-zero-length-posts/

我有一个糟糕的解决方法,我将在下面作为答案发布,但我根本不喜欢它.

解决方法

好的,我发现了一个注册表黑客.基本上,IE主动发送NTLM凭证,而不从服务器发送401.当发送“pre auth”时,IE将省略POST主体(如果请求是POST.)如果会话已经有效并且服务器已经授权您,则它会在没有正文的情况下通过请求,并且会导致错误服务器(假设您的POST需要正文.)

所以正常的NTLM协商会是这样的

>来自客户的请求(使用POST正文) – >服务器返回401
www-authenticate:negotiate,www-authenticate:NTLM
>客户发送
使用NTLM令牌的附加请求(没有帖子正文) – >服务器返回401
NTLM令牌
>客户端发送第3个会话请求(使用POST正文)并返回服务器
200

有了这个优化

>客户期望401并发送NTLM令牌(没有身体) – >服务器令牌返回401
>客户端通过会话发送第二个请求(带有正文) – >服务器返回200

出现问题

>客户期望401并发送NTLM令牌(没有身体) – >服务器处理请求并收到内部错误(可能是500)

要添加的注册表项阻止此“优化”

HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Internet Settings/ 
Add the following registry value: 
Value Name: disableNTLMPreAuth
Data Type: REG_DWORD
Value: 1

或者将这些条目保存到计算机上的.reg文件中,然后双击它

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\]
"disableNTLMPreauth"=dword:00000001

我不确定为什么IE认为它必须重新验证,但是从广泛的测试看起来就像IE有一个会话超时或会话失效并且它从服务器获得401,它想要每1重新验证一次之后2分钟.这可能与您在身份验证时所处的URL有关,因为您可能不在根.我提供的第一个链接谈论了很多关于IE的URL的挑剔性以及它如何猜测应该授权什么以及什么不应该基于路径.

相关文章:

Zero Length POSTS

NTLM Pre-Auth

NTLM Pre-Auth

NTLM Pre-Auth jcifs

angularjs – 使用Angular,我如何将click事件绑定到元素上,并单击后,向下滑动一个兄弟元素?

angularjs – 使用Angular,我如何将click事件绑定到元素上,并单击后,向下滑动一个兄弟元素?

我正在使用Angular,而我正在做一些我通常使用jQuery的东西.

我想将一个点击事件绑定到一个元素,然后点击,将一个兄弟元素向下滑动.

这就是jQuery的样子:

$('element').click(function() {
    $(this).siblings('element').slidetoggle();
});

使用角度我在我的标记中添加了一个带有功能的ng-click属性:

<div ng-click="events.displaySibling()"></div>

这就是我的控制器的样子:

app.controller('myController',['$scope',function($scope) {

    $scope.events = {};

    $scope.events.displaySibling = function() {
        console.log('clicked');
    }

}]);

到目前为止,这是按预期工作,但我不知道如何完成幻灯片.任何帮助非常感谢.

更新

我已经用指令取代了我所做的一切.

我的标记现在看起来像这样:

<div></div>

我已经删除了我在控制器中的内容,并创建了一个新的指令.

app.directive('myevent',function() {
    return {
        restrict: 'C',link: function(scope,element,attrs) {
            element.bind('click',function($event) {
                element.parent().children('ul').slidetoggle();
            });
        }
    }
});

但是,我仍然无法使幻灯片切换工作.我不相信Slidetoggle()是由Angular支持的.有什么建议么?

我不太清楚你正在谈论的行为,但我会鼓励你以稍微不同的方式思考.少jQuery,更有角度.

也就是说,有你的html这样的东西:

<div ng-click="visible = !visible"></div>
<div ng-show="visible">I am the sibling!</div>

然后,您可以使用ng-animate中的构建来制作兄弟幻灯片 – yearofmoo有一个非常好的概述如何$动画作品.

这个例子很简单,你可以把显示逻辑放在html中,但是我会鼓励你把它放在控制器里,就像这样:

<div ng-click="toggleSibling()"></div>
<div ng-show="visible"></div>

控制器:

app.controller('SiblingExample',function($scope){

  $scope.visible = false;

  $scope.toggleSibling = function(){
    $scope.visible = !$scope.visible;
  }

});

这种组件也是一个指令的主要候选者,它将整齐地整理出来.

今天的关于使用AngularJS,我如何随机化集合的顺序?angularjs遍历数组的分享已经结束,谢谢您的关注,如果想了解更多关于angular2 – 我如何在angular 2中使用angular.copy、angularjs – Angular JS:使用Angular有哪些问题/陷阱?、angularjs – IE使用NTLM身份验证时随机发送空POST主体(使用angular to Spring)、angularjs – 使用Angular,我如何将click事件绑定到元素上,并单击后,向下滑动一个兄弟元素?的相关知识,请在本站进行查询。

本文标签: