Questions tagged «angularjs»

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

22
如何将数据发布为表单数据而不是请求有效载荷?
在下面的代码中,AngularJS $http方法调用URL,然后将xsrf对象作为“请求有效负载”提交(如Chrome调试器网络标签中所述)。jQuery $.ajax方法执行相同的调用,但是将xsrf提交为“表单数据”。 如何使AngularJS将xsrf提交为表单数据而不是请求有效载荷? var url = 'http://somewhere.com/'; var xsrf = {fkey: 'xsrf key'}; $http({ method: 'POST', url: url, data: xsrf }).success(function () {}); $.ajax({ type: 'POST', url: url, data: xsrf, dataType: 'json', success: function() {} });


6
零件和模板的复杂嵌套
我的问题涉及到如何在AngularJS应用程序中处理模板的复杂嵌套(也称为partials)。 描述我的情况的最好方法是使用创建的图像: 如您所见,这有可能成为具有许多嵌套模型的相当复杂的应用程序。 该应用程序是单页的,因此它将加载index.html,该索引包含DOM中具有ng-view属性的div元素。 对于第1圈,您看到有一个主导航将相应的模板加载到中ng-view。我通过传递$routeParams给主应用程序模块来实现此目的。这是我的应用程序中的一个示例: angular.module('myApp', []). config(['$routeProvider', function($routeProvider) { $routeProvider. when("/job/:jobId/zones/:zoneId", { controller: JobDetailController, templateUrl: 'assets/job_list_app/templates/zone_edit.html' }). when("/job/:jobId/initial_inspection", { controller: JobDetailController, templateUrl: 'assets/job_list_app/templates/initial_inspection.html' }). when("/job/:jobId/zones/:zoneId/rooms/:roomId", { controller: JobDetailController, templateUrl: 'assets/job_list_app/templates/room_edit.html' }) }]); 在第2圈中,加载到中的模板ng-view具有附加的子导航。然后,该子导航需要将模板加载到其下方的区域中-但由于已使用ng-view,因此我不确定如何执行此操作。 我知道我可以在第一个模板中包含其他模板,但是这些模板都将非常复杂。我想将所有模板分开,以使应用程序更易于更新,并且不依赖于必须加载父模板才能访问其子模板。 在第3圈中,您会看到事情变得更加复杂。子导航模板可能会有第二个子导航,需要将其自身的模板以及第4圈的区域加载到该子导航中 如何构造一个AngularJS应用程序以处理模板的这种复杂嵌套,同时又将它们彼此分开?

11
AngularJS ngClass条件
有什么办法可以表达ng-class条件表达式吗? 例如,我尝试了以下方法: <span ng-class="{test: 'obj.value1 == \'someothervalue\''}">test</span> 此代码的问题在于,无论如何obj.value1,类测试始终应用于元素。这样做: <span ng-class="{test: obj.value2}">test</span> 只要obj.value2不等于真实值,就不会应用该类。现在,通过执行以下操作,我可以在第一个示例中解决此问题: <span ng-class="{test: checkValue1()}">test</span> 该checkValue1函数如下所示: $scope.checkValue1 = function() { return $scope.obj.value === 'somevalue'; } 我只是想知道这ng-class是否应该工作。我还在建立一个自定义指令,在其中我想做类似的事情。但是,我找不到观察表达式的方法(也许这是不可能的,以及它如此工作的原因)。 这是显示我的意思的plnkr。
499 html  css  angularjs 

11
根据条件重定向到某条路线
我正在编写一个小的AngularJS应用,该应用具有登录视图和主视图,其配置如下: $routeProvider .when('/main' , {templateUrl: 'partials/main.html', controller: MainController}) .when('/login', {templateUrl: 'partials/login.html', controller: LoginController}) .otherwise({redirectTo: '/login'}); 我的LoginController检查用户/密码组合,并在$ rootScope上设置一个属性,以反映此情况: function LoginController($scope, $location, $rootScope) { $scope.attemptLogin = function() { if ( $scope.username == $scope.password ) { // test $rootScope.loggedUser = $scope.username; $location.path( "/main" ); } else { $scope.loginError = "Invalid user/pass."; } } …
493 angularjs  ngroute 

12
ng-repeat:按单个字段过滤
我有一系列要重复使用ng-repeat的产品,并且正在使用 <div ng-repeat="product in products | filter:by_colour"> 按颜色过滤这些产品。过滤器正在运行,但是如果产品名称/说明等包含颜色,则在应用过滤器后产品仍保留。 如何将滤镜设置为仅应用于数组的颜色字段而不是每个字段?

10
AngularJS:使用异步数据初始化服务
我有一个AngularJS服务,我想使用一些异步数据进行初始化。像这样: myModule.service('MyService', function($http) { var myData = null; $http.get('data.json').success(function (data) { myData = data; }); return { setData: function (data) { myData = data; }, doStuff: function () { return myData.getSomeData(); } }; }); 显然,这是行不通的,因为如果doStuff()在myData返回之前尝试进行调用,我将得到一个空指针异常。据我从阅读这里和这里提出的其他一些问题中所知道的,我有一些选择,但是它们似乎都不是很干净(也许我错过了一些东西): 安装服务“运行” 设置我的应用时,请执行以下操作: myApp.run(function ($http, MyService) { $http.get('data.json').success(function (data) { MyService.setData(data); }); }); 然后我的服务将如下所示: myModule.service('MyService', function() …

19
在AngularJS中的控制器之间进行通信的正确方法是什么?
控制器之间进行通讯的正确方法是什么? 我目前正在使用涉及到的可怕软糖window: function StockSubgroupCtrl($scope, $http) { $scope.subgroups = []; $scope.handleSubgroupsLoaded = function(data, status) { $scope.subgroups = data; } $scope.fetch = function(prod_grp) { $http.get('/api/stock/groups/' + prod_grp + '/subgroups/').success($scope.handleSubgroupsLoaded); } window.fetchStockSubgroups = $scope.fetch; } function StockGroupCtrl($scope, $http) { ... $scope.select = function(prod_grp) { $scope.selectedGroup = prod_grp; window.fetchStockSubgroups(prod_grp); } }
473 scope  angularjs 

10
角度ng-repeat错误“不允许在转发器中重复。”
我正在定义一个自定义过滤器,如下所示: <div class="idea item" ng-repeat="item in items" isoatom> <div class="section comment clearfix" ng-repeat="comment in item.comments | range:1:2"> .... </div> </div> 如您所见,使用过滤器的ng-repeat嵌套在另一个ng-repeat中 过滤器的定义如下: myapp.filter('range', function() { return function(input, min, max) { min = parseInt(min); //Make string input int max = parseInt(max); for (var i=min; i<max; i++) input.push(i); return input; }; }); …

8
Angular指令-何时以及如何使用编译,控制器,预链接和后链接[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 5年前关闭。 编写Angular指令时,可以使用以下任何函数来操纵DOM的行为,声明该指令的元素的内容和外观: 编译 控制者 预链接 链接后 关于应该使用哪个功能似乎有些混乱。这个问题包括: 指令基础 如何声明各种功能? 源模板和实例模板有什么区别? 指令功能按什么顺序执行? 这些函数调用之间还会发生什么? 功能性质,做与不做 编译 控制者 预先连结 链接后 相关问题: 指令:链接vs编译vs控制器。 定义angular.js指令时,“控制器”,“链接”和“编译”函数之间的差异。 angularjs中的compile和link函数有什么区别? AngularJS指令中的预编译和后编译元素之间的区别?。 Angular JS指令-模板,编译或链接?。 Angular js指令中的post link和pre link。

18
AngularJS 1.2 $ injector:modulerr
当使用angular 1.2代替1.07时,以下代码不再有效,为什么? 'use strict'; var app = angular.module('myapp', []); app.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) { $locationProvider.html5Mode(true); $routeProvider. when('/', { templateUrl: 'part.html', controller: 'MyCtrl' }). otherwise({ redirectTo: '/' }); } ]); 问题出在喷射器配置部分(app.config)中: Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.2.0rc1/$injector/modulerr?p0=muninn&p1=Error%…eapis.com%2Fajax%2Flibs%2Fangularjs%2F1.2.0rc1%2Fangular.min.js%3A31%3A252) 如果我没记错的话,这个问题是从1.1.6开始的。

14
将Require.js与Angular.js一起使用是否有意义?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 我是Angular.js的新手,试图了解它与Backbone.js的区别...我们以前在使用Backbone时使用Require.js管理我们的软件包依赖项。用Angular.js做同样的事情有意义吗?

8
使用AngularJS的ng-options选择
我已经在其他帖子中阅读过,但是我无法弄清楚。 我有一个数组 $scope.items = [ {ID: '000001', Title: 'Chicago'}, {ID: '000002', Title: 'New York'}, {ID: '000003', Title: 'Washington'}, ]; 我想将其渲染为: <select> <option value="000001">Chicago</option> <option value="000002">New York</option> <option value="000003">Washington</option> </select> 我也想选择ID = 000002的选项。 我已经阅读了select并尝试过,但是我无法弄清楚。


8
如何显示经过过滤的ng-repeat数据的长度
我有一个包含许多对象(JSON格式)的数据数组。以下内容可以假定为该数组的内容: var data = [ { "name": "Jim", "age" : 25 }, { "name": "Jerry", "age": 27 } ]; 现在,我将这些详细信息显示为: <div ng-repeat="person in data | filter: query"> </div 在此,查询被建模为一个输入字段,用户可以在其中限制显示的数据。 现在,我在另一个位置显示了当前正在显示的人数。 Showing {{data.length}} Persons 我想做的是,当用户搜索一个人并且根据查询过滤显示的数据时,这Showing...persons也改变了当前显示的人的价值。但这没有发生。它总是显示数据中的总人数,而不是过滤后的人数-如何获得过滤数据的计数?

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.