我想在angularJS中激活html5Mode,但我不知道为什么它不工作。 我的代码有什么问题吗? angular .module('myApp',[]) .config(function($locationProvider, $routeProvider) { $locationProvider.html5Mode(true); $routeProvider.when('/', { templateUrl: 'partials/home.html', controller: HomeCtrl }); $routeProvider.when('/tags/:tagId', { templateUrl: 'partials/result.html', controller: TagResultCtrl }); //$routeProvider.otherwise({redirectTo: '/home', controller: HomeCtrl}); }); 在HTML中 <a href="tags/{{tag.id}}"><img data-ng-src="{{tag.imageUrl}}"></a>
有没有办法build立一个元素,使其左键单击(ng-click)执行一个动作,然后右键单击另一个动作? 现在我有这样的东西: <span ng-click="increment()">{{getPointsSpent()}}</span> 我也想能够右键单击跨度来执行函数递减();
如何修复错误: [$ resource:badcfg]资源configuration错误。 预期的响应包含一个数组,但有一个对象? //服务 angular.module('admin.services', ['ngResource']) // GET TASK LIST ACTIVITY .factory('getTaskService', function($resource) { return $resource('../rest/api.php?method=getTask&q=*',{ 'get': {method:'GET'}}); }) //控制器 $scope.getTask = getTaskService.query(function (response) { angular.forEach(response, function (item) { if (item.numFound > 0) { for(var i = 0; i < item.numFound; i++) { $scope.getTasks[i] = item.docs[i]; } } }); });
以下来自服务器的JSON响应 [ "hello", "world" ] 正在被这个ngResource服务parsing成一个二维数组 myService.factory('Name', function($resource){ return $resource(site_url+'api/accounts/:accountId/names/', {}, { list: {method:'GET', params:{}, isArray:true} }); }); 这样叫 $scope.names = Name.list({accountId:$scope.account.id}, function(e){ console.log(e); }); 追踪到 [{"0":"h","1":"e","2":"l","3":"l","4":"o"},{"0":"w","1":"o","2":"r","3":"l","4":"d"}] 任何提示?
我有一个列表中的项目在我的看法与ng-click附加到他们: <ul id="team-filters"> <li ng-click="foo($event, team)" ng-repeat="team in teams"> <img src="{{team.logoSmall}}" alt="{{team.name}}" title="{{team.name}}"> </li> </ul> 我在我的指令中处理foo函数中的click事件,传递$event作为被点击的对象的引用,但是我得到了对img标签的引用,而不是li标签。 然后我必须做这样的东西来得到li : $scope.foo = function($event, team) { var el = (function(){ if ($event.target.nodeName === 'IMG') { return angular.element($event.target).parent(); // get li } else { return angular.element($event.target); // is li } })(); 有没有一种简单的方法来获取ng-click所绑定的元素的引用,而不用在我的指令中执行DOM操作?
我在我的.html页面中有一个下拉列表, 落下: <select ng-model="blisterPackTemplateSelected" data-ng-options="blisterPackTemplate as blisterPackTemplate.name for blisterPackTemplate in blisterPackTemplates"> <option value="">Select Account</option> </select> 我想在用户select一个值时执行一个动作。 所以在我的控制器中,我做了: 控制器: $scope.$watch('blisterPackTemplateSelected', function() { alert('changed'); console.log($scope.blisterPackTemplateSelected); }); 但是,更改下拉列表中的值不会触发代码: $scope.$watch('blisterPackTemplateSelected', function() 因此,我在select标签上尝试了另一个方法: ng_change = 'changedValue()' 和 function: $scope.changedValue = function() { console.log($scope.blisterPackTemplateSelected); } 但是blisterPackTemplateSelected存储在一个子范围中。 我读了父母不能访问子范围。 当下拉列表中的选定值更改时,执行某些操作的正确/最佳方式是什么? 如果是方法1,我在做什么错我的代码?
我是AngularJS新手。 我想要创build网格(使用ng-grid ),其高度取决于窗口高度即。 $('.gridStyle').height($(window).height() – 100); 我有书面指示: app.directive('resize', function($window) { return function(scope, element) { function applyHeight() { scope.height = $window.innerHeight; $('.gridStyle').height(scope.height – 100); } angular.element($window).bind('resize', function() { scope.$apply(function() { applyHeight(); }); }); applyHeight(); }; }); 当我调整浏览器窗口的大小时,这种方式效果很好,但是在第一次加载网站时,风格不适用。 我在哪里可以把代码初始化高度?
嗨,我想知道是否有一种方法来预览图像,然后使用angularjs上传它们? 我正在使用这个库。 https://github.com/danialfarid/angular-file-upload 谢谢。 这是我的代码: template.html <div ng-controller="picUploadCtr"> <form> <input type="text" ng-model="myModelObj"> <input type="file" ng-file-select="onFileSelect($files)" > <input type="file" ng-file-select="onFileSelect($files)" multiple> </form> </div> controller.js .controller('picUploadCtr', function($scope, $http,$location, userSettingsService) { $scope.onFileSelect = function($files) { //$files: an array of files selected, each file has name, size, and type. for (var i = 0; i < $files.length; i++) { […]
当通过$locationProvider.html5Mode(true)启用AngularJS中的html5Mode时,导航似乎在您登陆网站更深的页面时出现偏斜。 例如: http://www.site.com 当我导航到根,我可以点击网站中的所有链接,Angular的$routeProvider将接pipe浏览网站,并加载正确的意见。 http://www.site.com/news/archive 但是当我导航到这个URL(或点击刷新时,像上面的一个深度链接…)此导航不工作,因为我期望它。 首先,我们作为$ locationProvider.html5Mode的文档指定,我们捕获服务器上的所有URL,类似于angular otherwise路由,并返回与根域相同的html。 但是,如果我然后检查angular度的runfunction内的$location对象,它告诉我, http://www.site.com是我的host和/archive是我的path 。 $routeProvider到达.otherwise()子句,因为我只有/news/archive作为一个有效的路由。 和应用程序确实奇怪的东西。 也许在服务器上的重写需要做不同的处理,或者我需要angular度指定的东西,但目前我很无知,为什么angular度看到没有包括/news部分的path。 例如main.js: // Create an application module var App = angular.module('App', []); App.config(['$routeProvider', '$locationProvider', function AppConfig($routeProvider, $locationProvider) { $routeProvider .when( '/', { redirectTo: '/home' }) .when('/home', { templateUrl: 'templates/home.html' }) .when('/login', { templateUrl: 'templates/login.html' }) .when('/news', { templateUrl: 'templates/news.html' }) .when('/news/archive', […]
我想从userName sa的login用户点击到twitter引导modal的列表中传递userName 。 我正在使用grails与angularjs ,其中数据通过angularjs呈现。 组态 我的grails查看页面的encouragement.gsp .gsp是 <div ng-controller="EncouragementController"> <g:render template="encourage/encouragement_modal" /> <tr ng-cloak ng-repeat="user in result.users"> <td>{{user.userName}}</rd> <td> <a class="btn btn-primary span11" href="#encouragementModal" data-toggle="modal"> Encourage </a> </td> </tr> 我的encourage/_encouragement_modal.gsp是 <div id="encouragementModal" class="modal hide fade"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h3>Confirm encouragement?</h3> </div> <div class="modal-body"> Do you really want to encourage <b>{{aModel.userName}}</b>? […]