Questions tagged «javascript-framework»

JavaScript框架是一个预先编写的JavaScript库,它可以简化基于JavaScript的应用程序的开发,尤其是针对AJAX和其他以Web为中心的技术。


7
AngularJS将数据传递到$ http.get请求
我有一个执行http POST请求的函数。该代码在下面指定。这很好。 $http({ url: user.update_path, method: "POST", data: {user_id: user.id, draft: true} }); 我具有http GET的另一个功能,我想将数据发送到该请求。但是我没有那个选择。 $http({ url: user.details_path, method: "GET", data: {user_id: user.id} }); 的语法http.get是 获取(URL,配置)


21
Angular JS Break ForEach
我有一个角度foreach循环,如果我匹配一个值,我想摆脱循环。以下代码不起作用。 angular.forEach([0,1,2], function(count){ if(count == 1){ break; } }); 我怎么能得到这个?



20
如何使用方法创建jQuery插件?
我正在尝试编写一个jQuery插件,它将为调用它的对象提供其他功能/方法。我在线阅读的所有教程(过去2个小时内一直在浏览)最多都包含如何添加选项,但不包含其他功能。 这是我想要做的: //通过调用该div的插件将div格式化为消息容器 $("#mydiv").messagePlugin(); $("#mydiv").messagePlugin().saySomething("hello"); 或类似的规定。归结为以下几点:调用插件,然后调用与该插件关联的函数。我似乎找不到找到这种方法的方法,而且我以前看过很多插件都这样做。 这是到目前为止我对插件的了解: jQuery.fn.messagePlugin = function() { return this.each(function(){ alert(this); }); //i tried to do this, but it does not seem to work jQuery.fn.messagePlugin.saySomething = function(message){ $(this).html(message); } }; 我该如何实现这样的目标? 谢谢! 更新2013年11月18日:我已更改对Hari以下评论和支持的正确答案。

5
基于骨干.js的许多框架在现实世界中的优缺点是什么?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 3年前关闭。 改善这个问题 希望有人可以与他们分享一些最新的新兴的ribs.js变体的经验。我在多个项目中的主干/下划线/需求方面都具有良好的经验,我想朝着针对复杂应用程序结构的更高级解决方案迈出下一步。 我知道可以使用以下框架: 木偶 Geppetto(基于木偶) 卓别林,卓别林-卓别林样板 椎骨 布局管理器 胸部 光环 路卡 单耳 后栈 骨干用户界面 绿巨人 BTW-大型项目的绝佳起点 可能我错过了一些。 这里有关于这些差异的简短介绍: Speakerdeck谈话链接 但这很笼统 我想知道是否有人可以使用这些框架在现实生活中分享他们的经验。 选择一个而不是另一个的好处是什么?何时,木偶戏是比卓别林更好的解决方案,或者为什么椎骨在某些应用中会更好? 当然,显而易见的答案是“ 使用最适合您的需求 ”,但是我缺乏这些框架的经验,无法了解其优势/目的/优势或首选方案。 谢谢! 编辑1: 找到了这篇文章: Backbone.Marionette vs Backbone-Boilerplate 编辑2: Mathias schafer(Chaplin)通过邮件回答: 简而言之,当前结构已经在生产中使用,因此它接近1.0版。我们不打算在1.0之前添加新的重大功能或对API进行更改。 木偶肯定是那里最全面,最稳定的图书馆。它解决了使用Backbone开发JS应用程序的几个方面。例如,它具有强大的视线层,主干网本身就完全留下了空白。当然,您会发现某些方面无法满足您的需求,并且您可能会觉得有必要在Marionette周围建立结构。 相比之下,卓别林专注于Backbone应用程序的一个相当小但非常重要的方面,即整个应用程序的结构和模块的生命周期。在这方面,卓别林非常善于表达,更像是框架而不是库(例如,“您的代码称为库,框架称为您的代码”)。卓别林提供了一些中心类,它们位于各个应用程序模块之上,并控制整个应用程序状态。例如,这为您的应用程序提供了像Ruby on Rails这样的常规结构。 在卓别林中,您声明了一些映射到控制器的路由,一旦路由匹配,卓别林便启动控制器。它还负责处理旧的控制器,以及显示和隐藏应该由控制器创建的主视图。这是基本思想,但卓别林会处理一些丑陋的细节,以使此过程顺利进行。 此结构附带两个原则:-模块化,解耦和沙箱处理-使用“发布/订阅”和“中介”的跨模块通信 当然,这些模式在软件开发领域并不是什么新事物,并且卓别林不是唯一将它们应用于Backbone.js应用程序的库。 卓别林还为View层提供了增强功能,例如高度复杂的CollectionView,但总体上不及Marionette及其Regions和Layouts。但是使用卓别林视图提供的方法来编写此类元类相对容易。

13
错误:达到10次$ digest()迭代。流产!具有动态sortby谓词
我有以下代码重复并显示用户名及其分数: <div ng-controller="AngularCtrl" ng-app> <div ng-repeat="user in users | orderBy:predicate:reverse | limitTo:10"> <div ng-init="user.score=user.id+1"> {{user.name}} and {{user.score}} </div> </div> </div> 以及相应的角度控制器。 function AngularCtrl($scope) { $scope.predicate = 'score'; $scope.reverse = true; $scope.users = [{id: 1, name: 'John'}, {id: 2, name: 'Ken'}, {id: 3, name: 'smith'}, {id: 4, name: 'kevin'}, {id: 5, …




3
如何选择除JQuery中单击的元素以外的所有类?
我有一个在Drupal上开发的网站。我使用一个名为collapsiblock的模块(基本上是一个JQuery插件)来实现类似手风琴的效果。它对我来说很好用(尽管它处于Beta中)。但是我想对其进行修改,以便当用户单击手风琴的一项时,其他项将折叠。 在当前状态下,它的工作方式是当用户单击一个项目时,它将检查该项目是否已折叠或展开,并使该项目相反。这意味着,如果用户单击一个项目,它将展开;如果他/她单击另一个项目,也会展开,但不会折叠之前单击的项目。 您可以在下面看到代码。我知道应该在哪里添加代码以折叠以及如何折叠和扩展。我的问题是:除用户单击的项目外,我如何选择所有具有“ .collapsiblock”类的项目? 注意:类别为'.collapsiblockCollapsed'的项目会被折叠,如果从该项目中删除了该类,则会对其进行扩展。 // $Id: collapsiblock.js,v 1.6 2010/08/18 19:17:37 gagarine Exp $ Drupal.Collapsiblock = Drupal.Collapsiblock || {}; Drupal.behaviors.collapsiblock = function (context) { var cookieData = Drupal.Collapsiblock.getCookieData(); var slidetype = Drupal.settings.collapsiblock.slide_type; var defaultState = Drupal.settings.collapsiblock.default_state; var slidespeed = parseInt(Drupal.settings.collapsiblock.slide_speed); $('div.block:not(.collapsiblock-processed)', context).addClass('collapsiblock-processed').each(function () { var id = this.id; var titleElt …

1
保存Backbone.js模型数据的方法?
我更喜欢前端开发,并且最近开始在我的应用程序中探索Backbone.js。我想将模型数据保存到服务器。 您能否解释一下保存模型数据的各种方式(使用json格式)。我在服务器端使用Java。我也主要看到REST用于保存数据。由于我更喜欢​​前端开发人员,因此我不了解REST和其他类似内容。 如果有人可以用一些简单的例子向我解释这个过程,那就太好了。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.