Questions tagged «angularjs»

用于有关开源JavaScript框架AngularJS(1.x)的问题。不要将此标签用于Angular 2或更高版本;而是使用[angular]标签。

3
结合AngularJS和Twitter Bootstrap的最佳方法
我想将AngularJS和Twitter Bootstrap结合到一个新的Web应用程序中。似乎已为Bootstrap编写了AngularJS指令。 但是,仔细看,这些指令似乎并不涵盖所有的Bootstrap。我可以将AngularUI引导程序代码与原始引导程序结合使用以获得完整性吗?首先可以做到吗? 我偶然发现了另一个名为AngularStrap的Angular项目。我可以将所有三个结合吗? 结合AngularJS和Twitter Bootstrap以获得完整性的最佳方法是什么?

1
您究竟如何使用transclude函数和克隆链接函数?
从Angular docs指令中,我看到compile函数具有3个参数,其中一个是transclude。该文档提供的唯一解释是: transclude-包含链接的函数:function(scope,cloneLinkingFn)。 我试图了解您将在克隆链接功能中执行的操作。我什至不知道将哪些参数传递给它。我发现了一个示例,该示例的一个参数clone似乎是一个HTML元素。还有其他可用参数吗?这到底是哪个HTML元素?我也在寻找可能transclude: 'element'在我的指令中使用。执行这些问题的答案时,用改变'element'来代替true? 我通过简单的示例理解了包含,但似乎找不到更复杂的示例,尤其是使用transclude: 'element'。我希望有人可以对此提供更详尽的解释。谢谢。
70 angularjs 

1
Angular-UI与Angular-Strap [关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 改善这个问题 所以目前我正在使用Angular UI Bootstrap,但我注意到Angular-Strap已被重写为jQuery包装的指令。 通过Angular-Strap的新代码,我注意到了一些相当不错的改进,例如在Angular UI上的触摸和更多增强的功能。Angular Experts,您目前对这两者的看法如何?
70 angularjs 

4
对抗Asp.Net WebApi的Angular,在服务器上实现CSRF
我正在Angular.js中实现一个网站,该网站访问了ASP.NET WebAPI后端。 Angular.js具有一些内置功能,可帮助进行反csrf保护。在每个http请求上,它将查找名为“ XSRF-TOKEN”的cookie,并将其作为名为“ X-XSRF-TOKEN”的标头提交。 这取决于Web服务器能够在验证用户身份之后设置XSRF-TOKEN cookie,然后检查X-XSRF-TOKEN标头中是否有传入请求。 该角文档状态: 要利用此优势,您的服务器需要在第一个HTTP GET请求上的名为XSRF-TOKEN的JavaScript可读会话cookie中设置令牌。在随后的非GET请求上,服务器可以验证cookie是否与X-XSRF-TOKEN HTTP标头匹配,因此,请确保只有在您的域上运行的JavaScript才能读取令牌。令牌对于每个用户必须是唯一的,并且必须可由服务器验证(以防止JavaScript编写自己的令牌)。我们建议该令牌是您的站点身份验证Cookie的摘要,并添加盐,以增强安全性。 我找不到针对ASP.NET WebAPI的任何良好示例,因此在各种来源的帮助下,我都做了自己的工作。我的问题是-有人能看到代码有什么问题吗? 首先,我定义了一个简单的帮助程序类: public class CsrfTokenHelper { const string ConstantSalt = "<ARandomString>"; public string GenerateCsrfTokenFromAuthToken(string authToken) { return GenerateCookieFriendlyHash(authToken); } public bool DoesCsrfTokenMatchAuthToken(string csrfToken, string authToken) { return csrfToken == GenerateCookieFriendlyHash(authToken); } private static string GenerateCookieFriendlyHash(string authToken) { using …

4
AngularJS:自定义过滤器和ng-repeat
我是AngularJS的新手,我正在构建一个小型的概念验证租车清单应用程序,该应用程序会提取一些JSON,并通过ng-repeat并使用几个过滤器来呈现这些数据的各个部分: <article data-ng-repeat="result in results | filter:search" class="result"> <header><h3>{{result.carType.name}}, {{result.carDetails.doors}} door, £{{result.price.value}} - {{ result.company.name }}</h3></header> <ul class="result-features"> <li>{{result.carDetails.hireDuration}} day hire</li> <li data-ng-show="result.carDetails.airCon">Air conditioning</li> <li data-ng-show="result.carDetails.unlimitedMileage">Unlimited Mileage</li> <li data-ng-show="result.carDetails.theftProtection">Theft Protection</li> </ul> </article> <h2>Filters</h2> <h4>Doors:</h4> <select data-ng-model="search.carDetails"> <option value="">All</option> <option value="2">2</option> <option value="4">4</option> <option value="9">9</option> </select> <h4>Provider:</h4> Atlas Choice <input type="checkbox" …

7
使用AngularJS在新窗口中打开链接
有没有办法告诉AngularJS,我希望用户单击链接时在新窗口中打开它们? 使用jQuery,我可以这样做: jQuery("a.openInNewWindow").click( function() { window.open(this.href); return false; }) AngularJS是否具有等效功能?

4
AngularJS中元素的指令模板唯一ID
我有一个指令,可以在一个页面上多次使用。在此指令的模板中,我需要对输入元素使用ID,以便可以将Label“绑定”到它,如下所示: <input type="checkbox" id="item1" /><label for="item1">open</label> 现在的问题是,一旦多次包含我的指令,ID“ item1”就不再是唯一的,并且标签将无法正常工作(单击时应选中/取消选中该复选框)。 该问题如何解决?有没有一种方法可以为模板分配“名称空间”或“前缀”(例如asp.net使用ctl00 ...- Prefix)?还是我必须在每个id属性中包括一个angular-Expression,它由作用域中的指令ID +一个静态ID组成。就像是: <input type="checkbox" id="{{directiveID}} + 'item1'" /><label for="{{directiveID}} + 'item1'">open</label> 编辑: 我的指令 module.directive('myDirective', function () { return { restrict: 'E', scope: true, templateUrl: 'partials/_myDirective.html', controller: ['$scope', '$element', '$attrs', function ($scope, $element, $attrs) { ... } //controller }; }]); 我的HTML …

3
使用ng-if作为ng-repeat内部的开关?
我正在使用Angular应用程序。我尝试使用ng-if并在ng-repeat中切换,但没有成功。我有类似的数据: **[{"_id":"52fb84fac6b93c152d8b4569", "post_id":"52fb84fac6b93c152d8b4567", "user_id":"52df9ab5c6b93c8e2a8b4567", "type":"hoot",}, {"_id":"52fb798cc6b93c74298b4568", "post_id":"52fb798cc6b93c74298b4567", "user_id":"52df9ab5c6b93c8e2a8b4567", "type":"story",}, {"_id":"52fb7977c6b93c5c2c8b456b", "post_id":"52fb7977c6b93c5c2c8b456a", "user_id":"52df9ab5c6b93c8e2a8b4567", "type":"article",},** $ scope.comments =上面提到的数据 和我的HTML一样: <div ng-repeat = "data in comments"> <div ng-if="hoot == data.type"> //differnt template with hoot data </div> <div ng-if="story == data.type"> //differnt template with story data </div> <div ng-if="article == data.type"> //differnt template with …

10
选择框中的角度,布尔值
我想使用选择将布尔值设置为true或false,这是我的代码: <select class="span9" ng-model="proposal.formalStoryboard"> <option value="false">Not Included</option> <option value="true">Included</option> </select> 值(proposal.formalStoryboard)正确设置为true或false,但是在已经分配了值之后,更改不会反映在选择框上。 我尝试了ng-value =“ true”和ng-value =“ false”而不只是值,但效果不佳。

9
为什么我的组件绑定在其控制器中未定义?
我正在写一个简单的角度分量。我将参数作为绑定传递并在屏幕上显示其值。一切正常:我可以看到该参数显示在屏幕上。 零件: var app = angular.module("test", []); app.component("test", { bindings: { "contactId": "<" }, controllerAs: "model", controller: () => { //output: 'contact id from controller: undefined' console.log(`contact id from controller: ${this.contactId}`); }, template: "<div>Contact id from view: {{model.contactId}}</div>" }); HTML: <test contact-id="8"></test> 但是,当我尝试从控制器内部访问绑定时(请参阅console.log),绑定值为undefined。我不明白如何在视图中使用它,但在控制器中却不可用。 我究竟做错了什么? 这是说明问题的plnkr。

3
将变量传递给AngularJS控制器,最佳做法是?
我是AngularJS的新手,并且喜欢到目前为止所看到的内容,尤其是模型/视图绑定。我想利用它来构建一个简单的“添加到购物篮”功能。 到目前为止,这是我的控制器: function BasketController($scope) { $scope.products = []; $scope.AddToBasket = function (Id, name, price, image) { ... }; } 这是我的HTML: <a ng-click="AddToBasket('237', 'Laptop', '499.95', '237.png')">Add to basket</a> 现在这可行,但是我高度怀疑这是在模型中创建新产品对象的正确方法。但是,这正是我完全缺乏AngularJS经验的地方。 如果不是这样,那么最佳实践是什么?


2
如何通过$ http将angular-ui的预输入与服务器绑定以进行服务器端优化?
typeahead示例(http://angular-ui.github.io/bootstrap/#/typeahead)提到在此自动完成中实现后端很容易,但没有提供示例。我特别感兴趣的是找出当前输入的字符串,以便可以将其发送到服务器并发送回已过滤的结果-我想在服务器端进行此优化并最小化查询,我不认为返回对于数据库中具有超过200,000个条目的应用程序,整个结果集并仅排除不匹配的项以进行显示是可行的。 在这种情况下,我应该完全忘记提前输入并实施带有下拉菜单的自定义解决方案,还是可以轻松地做到这一点?

2
将变量从服务/工厂绑定到控制器
我有一个变量,将由一个或多个控制器使用,由服务更改。在那种情况下,我建立了一个服务来将该变量保存在内存中,并在控制器之间共享。 问题是:每次变量更改时,控制器中的变量都不会实时更新。 我创建这个小提琴来提供帮助。http://jsfiddle.net/ncyVK/ ---请注意,当我增加count的值时,{{countService}}或{{countFactory}}永远不会更新。 如何将Service / Factory变量绑定到Controller中的$ scope.variable?我做错了什么?

4
从AngularJS中的指令调用父控制器的方法
在上一个问题之后,我现在尝试从指令中调用父控制器上的方法。我得到一个未定义的参数。这是我的工作: <body ng-app="myApp" ng-controller="MainCtrl"> <span>{{mandat.rum}}</span> <span>{{mandat.surname}}</span> <input type="text" ng-model="mandat.person.firstname" /> <my-directive mandate-person="mandat.person" updateparent="updatePerson()" > </my-directive> </body> 和脚本: var app = angular.module('myApp', []); app.controller('MainCtrl', function ($scope) { $scope.mandat = { name: "John", surname: "Doe", person: { id: 1408, firstname: "sam" } }; $scope.updatePerson = function(person) { alert(person.firstname); $scope.mandat.person = person; } …

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.