Tag: angularjs

如何在AngularJS中使用按键事件?

我想赶上下面的文本框中的input按键事件。 为了更清楚地说明我正在使用ng-repeat来填充tbody。 这里是HTML: <td><input type="number" id="closeqty{{$index}}" class="pagination-right closefield" data-ng-model="closeqtymodel" data-ng-change="change($index)" required placeholder="{{item.closeMeasure}}" /></td> 这是我的模块: angular.module('components', ['ngResource']); 我正在使用资源来填充表和我的控制器代码是: function Ajaxy($scope, $resource) { //controller which has resource to populate the table }

AngularJS:$ observe和$ watch方法之间的区别

我知道,只要AngularJS中$scope某些内容发生变化,Watcher和Observers被计算出来。 但是不明白这两者之间究竟有什么区别。 我最初的理解是Observers被计算为angular度expression式,这是HTML端的条件,当$scope.$watch()函数被执行时, Watchers被执行。 我是否正确思考?

根据情况redirect到一定的路线

我正在编写一个小的AngularJS应用程序,它有一个login视图和一个主视图,configuration如下: $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."; } } 一切正常,但如果我访问http://localhost/#/main我最终绕过login屏幕。 我想写一些东西,如“每当路由发生变化,如果$ rootScope.loggedUser为空,然后redirect到/login” … 等等 […]

如何$ http与AngularJS同步呼叫

抱歉我的新手问题,但angularjs文档是不是很明确或广泛的人物基本的东西。 有没有办法与angularjs进行同步调用? 开服务: myService.getByID = function (id) { var retval = null; $http({ url: "/CO/api/products/" + id, method: "GET" }).success(function (data, status, headers, config) { retval = data.Data; }); return retval; }

AngularJS – 任何方式为$ http.post发送请求参数,而不是JSON?

我有一些旧的代码,通过jQuery的post方法发出AJAX POST请求,看起来像这样: $.post("/foo/bar", requestData, function(responseData) { //do stuff with response } requestData只是一个具有一些基本string属性的JavaScript对象。 我正在把我们的东西转移到使用Angular的过程中,我想用$ http.postreplace这个调用。 我想出了以下几点: $http.post("/foo/bar", requestData).success( function(responseData) { //do stuff with response } }); 当我这样做,我得到了从服务器的500错误响应。 使用Firebug,我发现这样发送请求体: {"param1":"value1","param2":"value2","param3":"value3"} 成功的jQuery $.post像这样发送主体: param1=value1&param2=value2&param3=value3 我正在打的端点是期望的请求参数,而不是JSON。 所以,我的问题是有无论如何告诉$http.post发送JavaScript对象作为请求参数,而不是JSON? 是的,我知道我可以从对象中自己构buildstring,但是我想知道Angular是否提供了任何开箱即用的function。

在Angular 1.6中使用URL hash-bang(#!/)前缀而不是简单的哈希(#/)

我上一次工作在我的项目上后,AngularJS项目上的URL已经从localhost:3000/admin#/更改为localhost:3000/admin#!/ 没有在网上find,有人知道这是什么?

使用ng-class添加多个类

我们可以有多个expression式来添加多个ng-class吗? 例如。 <div ng-class="{class1: expressionData1, class2: expressionData2}"></div> 如果是的话,任何人都可以举出这样的例子。 。

如何在页面加载时执行angular度控制器function?

目前我有一个Angular.js页面,可以search和显示结果。 用户点击search结果,然后点击返回button。 我想要再次显示search结果,但是我不知道如何触发search执行。 这是细节: 我的Angular.js页面是一个search页面,带有一个search栏和一个searchbutton。 用户可以手动键入一个查询,然后按下一个button,然后启动ajax查询并显示结果。 我使用search字词更新url。 这一切工作正常。 用户点击search的结果,并采取不同的页面 – 工作正常。 用户点击返回button,返回到我的angular度search页面,并显示正确的url,包括search词。 一切正常。 我已将search字段值绑定到URL中的search字词,因此它包含预期的search字词。 一切正常。 如何在没有用户按下“searchbutton”的情况下再次执行searchfunction? 如果是jQuery,那么我将执行documentready函数中的一个函数。 我看不到Angular.js的等价物。

重新加载当前状态 – 刷新数据

我正在使用Angular UI路由器,并希望重新加载当前状态并刷新所有数据/重新运行当前状态和它的父母的控制器。 我有3个州级别: directory.organisations.details directory.organisations包含一个包含组织列表的表。 点击表中的一个项目加载directory.organisations.details与$ StateParams传递项目的ID。 所以在细节状态下,我加载这个项目的细节,编辑它们,然后保存数据。 迄今为止都很好。 现在我需要重新加载这个状态并刷新所有的数据。 我努力了: $state.transitionTo('directory.organisations'); 哪些去父母状态,但不重新加载控制器,我猜是因为path没有改变。 理想情况下,我只想保持在directory.organisations.details状态并刷新父项中的所有数据。 我也试过了: $state.reload() 我已经在API WIKI上看到了$ state.reload的这个问题(控制器现在重新实现的bug,很快就会修复)“。 任何帮助将不胜感激?

如何调用AngularJS指令中定义的方法?

我有一个指令,这里是代码: .directive('map', function() { return { restrict: 'E', replace: true, template: '<div></div>', link: function($scope, element, attrs) { var center = new google.maps.LatLng(50.1, 14.4); $scope.map_options = { zoom: 14, center: center, mapTypeId: google.maps.MapTypeId.ROADMAP }; // create map var map = new google.maps.Map(document.getElementById(attrs.id), $scope.map_options); var dirService= new google.maps.DirectionsService(); var dirRenderer= new google.maps.DirectionsRenderer() var showDirections = function(dirResult, dirStatus) […]