我正在尝试如何使用ngClick添加一个类。 我已经把我的代码上传到plunker 点击这里 。 看着angular度的文件,我无法弄清楚它应该完成的确切的方式。 下面是我的代码片段。 有人能指引我正确的方向吗? <div ng-show="isVisible" ng-class="{'selected': $index==selectedIndex}" class="block"></div> 调节器 var app = angular.module("MyApp", []); app.controller("subNavController", function ($scope){ $scope.toggle = function (){ $scope.isVisible = ! $scope.isVisible; }; $scope.isVisible = false; });
我正在开发一个新的ASP.NET MVC和AngularJS应用程序,这个应用程序是为了成为一个SPA的集合。 我正在使用MVC区域概念来分离每个单独的SPA,然后在每个MVC区域内使用AngularJS来创buildSPA。 由于我是AngularJS的新手,无法find有关将MVC和AngularJS路由相结合的答案,所以我想我会在这里发表我的问题,看看能否得到一些帮助。 我有标准的MVC路由设置,它提供了每个MVC区域。 public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapMvcAttributeRoutes(); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); routes.AppendTrailingSlash = true; } 这工作正常,给我的url如: http://servername/Application1/ http://servername/Application2/ 现在,在每个应用程序区域,我试图使用AngularJS路由,也使用$ locationProvider.html5Mode(true); 这样我可以在每个区域内获得客户端路由,例如: http://servername/Application1/view1 http://servername/Application1/view2 http://servername/Application2/view1/view1a http://servername/Application2/view2/view2a http://servername/Application2/view3 这里是我的AngularJS的Application1路由片段: app1.config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) { var […]
我有我认为可能是一个非常明显的问题,但我无法在任何地方find答案。 我只是试图从我的服务器加载一些JSON数据到客户端。 现在,我正在使用JQuery加载AJAX调用(下面的代码)。 <script type="text/javascript"> var global = new Array(); $.ajax({ url: "/json", success: function(reports){ global = reports; return global; } }); </script> 这是位于HTML文件。 它的工作到目前为止,但问题是,我想使用AngularJS。 现在,虽然Angular使用variables,我不能加载到一个variables,所以我可以使用每个循环。 这似乎与“$ Scope”有关,它通常位于.js文件中。 问题是我无法从其他页面加载代码到.js文件。 Angular的每个例子只显示像这样的东西: function TodoCtrl($scope) { $scope.todos = [ {text:'learn angular', done:true}, {text:'build an angular app', done:false}]; 所以,这是有用的,如果IA)要手工input所有这一切,并B)如果我事先知道我的所有数据是… 我不知道(数据是dynamic的),我不想打字。 所以,当我试图改变使用$资源的Angular的AJAX调用,似乎并没有工作。 也许我不能弄明白,但它是一个相对简单的GET请求JSON数据。 tl:dr我不能让AJAX调用工作,以便将外部数据加载到angular度模型中。
简单的待办事项列表,但每个项目的列表页上有一个删除button! 1.相关模板html: <tr ng-repeat="person in persons"> <td>{{person.name}} – # {{person.id}}</td> <td>{{person.description}}</td> <td nowrap=nowrap> <a href="#!/edit"><i class="icon-edit"></i></a> <button ng-click="delete(person)"><i class="icon-minus-sign"></i></button> </td> </tr> 2.相关控制方法: $scope.delete = function (person) { API.DeletePerson({ id: person.id }, function (success) { **// I NEED SOME CODE HERE TO PULL THE PERSON FROM MY SCOPE** }); }; 我试了$ scope.persons.pull(人) 我试过$ scope.persons.remove(人) 虽然数据库删除成功,我不能从范围拉这个项目,我不想让客户端已经有数据的方法调用服务器,我只是想从范围中删除这个人。 有任何想法吗? […]
我有一个隔离范围指令(这样我可以在其他地方重复使用指令),当我用ng-repeat使用这个指令时,它无法工作。 我已经阅读了关于这个主题的所有文档和堆栈溢出的答案,并理解了这些问题。 我相信我已经避免了所有常见的问题。 所以我明白我的代码失败,因为由ng-repeat指令创build的范围。 我自己的指令创build一个隔离作用域,并对父作用域中的对象执行双向数据绑定。 我的指令将为这个绑定variables赋值一个新的对象值,当我的指令没有使用ng-repeat (父variables被正确更新)时,这个工作就完美了。 但是,在ng-repeat ,赋值在ng-repeat范围内创build一个新variables,而父variables不会看到变化。 所有这一切,正如我所读的一样。 我也读过,当给定元素有多个指令时,只有一个作用域被创build。 并且可以在每个指令中设置priority来定义指令的应用顺序; 指令按优先级sorting,然后调用其编译函数(在http://docs.angularjs.org/guide/directive上search优先级字)。 所以我希望能够使用优先级来确保我的指令首先运行,最终创build一个隔离范围,而当ng-repeat运行时,它将重新使用隔离范围,而不是创build一个从原型inheritance的范围父范围。 ng-repeat文档指出该指令以优先级1000运行。 不清楚1是较高的优先级还是较低的优先级。 当我在我的指令中使用优先级1时,没有什么区别,所以我尝试了2000 。 但是,这使事情变得更糟:我的双向绑定变得undefined ,我的指令不显示任何东西。 我创造了一个小提琴来展示我的问题 。 我已经指出了我的指令中的priority设置。 我有一个名称对象的列表和一个名为name-row的指令,显示名称对象中的名字和姓氏字段。 当显示的名称被点击时,我想让它在主要范围内设置一个selectedvariables。 名称数组, selectedvariables使用双向数据绑定传递给name-row指令。 我知道如何通过调用主范围中的函数来实现这个function。 我也知道,如果selected是在另一个对象内,而我绑定到外部对象,事情会起作用。 但我目前对这些解决scheme不感兴趣。 相反,我所拥有的问题是: 如何防止ng-repeat创build从父范围原型inheritance的范围,而是使用我的指令的隔离范围? 为什么我的指令中的优先级为2000 ? 使用Batarang,是否有可能知道正在使用什么types的范围?
我正在试图注入一个服务,如下所示: var app = angular.module('app',[]); app.factory('myData', function(){ return { name : "myName" } }); app.directive('changeIt',function($compile, myData){ return { restrict: 'C', link: function (scope, element, attrs) { scope.name = myData.name; } } }); 但是,这是返回给我一个错误Unknown provider: myDataProvider 。 有人可以看看代码,并告诉我,如果我做错了什么?
我使用以下方式使用angularjs ng-class: <div class="bigIcon" data-ng-click="PickUp()" ng-class="{first:'classA', second:'classB', third:'classC', fourth:'classC'}[call.State]"/> 我想知道如果我可以使用if-elseexpression式,我可以做类似这样的事情: <div class="bigIcon" data-ng-click="PickUp()" ng-class="{first:'classA', second:'classB', else:'classC'}[call.State]"/> 意思是每当call.State与first或second使用classC并且不指定每个值。 谢谢!
我正在build立一个使用AngularJS作为前端的新应用程序。 客户端的所有事情都是通过HTML5 pushstate完成的,我希望能够在Google Analytics中跟踪我的页面浏览量。
我正在用AngularJS和Bootstrap 3创build一个应用程序。我想要显示一个包含数千行的表/网格。 什么是AngularJS&Bootstrap的最佳可用控件,具有sorting,search,分页等function
我有一个configurationfunction: function config($stateProvider,$locationProvider) { $locationProvider.html5Mode(true); $stateProvider .state('projectsWs.tasks', { url: "/tasks", views: { "mainView": { templateUrl: "/app/projects/templates/index.php" }, "innerView": { templateUrl: "/app/projects/templates/tasks.php", controller: tasksCtrl, controllerAs:'tasks' } } }) .state('projectsWs.tasks.detail', { url: "/:taskId", views: { "mainView@": { templateUrl: "/app/projects/templates/index.php" }, "innerView@mainView": { templateUrl: "/app/projects/templates/tasks.php", controller: function($stateParams) { console.log('innerViewCtrl', $stateParams); } } } });} InnerView在mainView中。 当我得到像/projects-ws/tasks这样的url时, tasksCtrl函数按预期工作。 但是,当我有一个ID的url,即/projects-ws/tasks/32 […]