我正在努力为我正在创建的应用程序设置登录系统.
我可以在用户登录或注销时设置cookie.我不认为如果用户登录就测试每个视图是一个非常优雅的解决方案,我担心这里和那里的页面可能会出现裂缝(这是一个相当大的应用程序).
我认为最好的方法是以某种方式拦截路由更改并检查用户是否已登录,否则将其发送到登录/创建用户页面.我找到了一些方法,但似乎没有任何正式记录.有没有人在现实世界中使用过这种方法,它有效吗?
我的路径文件如下所示:
'use strict';
app.config(['$routeProvider', function ($routeProvider) {
$routeProvider
// LOGIN
.when('/User/LoginUser', {templateUrl: 'views/user/login.html',controller: 'loginCtrl'})
....... more routes here.......
// DEFAULT
.otherwise({redirectTo: '/'});
}]);
Run Code Online (Sandbox Code Playgroud)
任何帮助或建议,或指向我如何做这样的事情的现实世界的例子将非常感谢!
我正在尝试使用ajax请求设置要使用Ajax构建的api提交的表单.由于某种原因,文件只是不想传输到系统,虽然已经有一个后端构建来处理这个,它工作正常.
根据我在这里找到的教程,我的服务看起来像这样:http://badwing.com/multipart-form-data-ajax-uploads-with-angularjs/
addActivity: function(url){
return $http({
method: 'POST',
url: REQUEST_URL + 'Volunteering/AddActivity?token=' + token + url,
headers: {
'Content-Type': 'multipart/form-data'
},
data: {
file: $scope.file
},
transformRequest: formDataObject
}).
then(function(result) {
console.log(result);
return result.data;
});
},
Run Code Online (Sandbox Code Playgroud)
我有一种感觉,这只是一件非常小的东西,我不知道,有人可以提供一些帮助吗?
我正在创建一个资源,将数据传递给我的控制器,用于需要挂钩的现有api.不幸的是,我无法修改后端.
我的资源工厂目前看起来像这样:
'使用严格';
angular.module('XXX')
.factory('elements', function (
$resource
) {
return $resource('http://XXX/api/v1/elements/:id',
{
callback: 'JSON_CALLBACK',
id: '@id'
},
{
query: {
method: 'JSONP',
params: {
id: '@id'
}
},
all: {
method: 'JSONP',
params: {}
}
}
);
});
Run Code Online (Sandbox Code Playgroud)
elements.query()工作正常,但不幸的是,elements.all()不起作用.我注意到在我的网络选项卡中返回的内容中,以angular.callbacks._2([{... DATA ...}])开头 - 这对我来说似乎不对.
UPDATE .....
好的,所以我得到了它:
angular.module('XXX')
.factory('element', function (
$resource
) {
return $resource('http://XXX/api/v1/elements/:id',
{
id: '@id',
callback : 'JSON_CALLBACK',
},
{
query: {
method: 'JSONP',
params: {
id: '@id'
}
},
all: {
method: 'JSONP',
isArray: true, …Run Code Online (Sandbox Code Playgroud) 试图让Packery.js使用我正在使用的angularjs应用程序.
出于某种原因,他们似乎并不能很好地在一起.我认为它可能会被isInitLayout错误的设置解决,但仍然没有爱.
这是我的(bootstrap 3)HTML:
<div class="row" class="js-packery"
data-packery-options='{ "itemSelector": ".packery-item",
"gutter": 10,
"columnWidth": 60,
"isInitLayout": false }'>
<artifact class="packery-item" ng-repeat="(index, thing) in data | limitObjectTo:4" thing="thing"></artifact>
</div>
Run Code Online (Sandbox Code Playgroud)
我开始怀疑这是不是因为我使用的神器指令......
我试图了解伟大的Ng-Grid模块.我发现它是一个非常棒的模块,但是我在使用单元格中的id号作为链接时遇到了问题.我的columnDefs选项如下所示:
columnDefs: [
{field: 'name', displayName: 'Name', cellTemplate: '<div class="ngCellText"><a href="/#/monitor/ROWIDNUMBER">{{col.field}}</a></div>'},
{field: 'description', displayName: 'Description'},
{field: 'type', displayName: 'Type'}
]
Run Code Online (Sandbox Code Playgroud)
我想在名称列的href标记中添加/#/monitor/row.this.id.
我在这里设置了一个问题的jsBin:http://jsbin.com/oSIJunu/2/edit?html,js,console,output
由于渲染函数(friendView.render().el)上el属性的问题,Collection视图无法渲染.
该视图如下所示:
var FriendListView = Backbone.View.extend({
render: function(){
this.collection.forEach(this.addOne, this);
},
addOne: function(friendModel){
var friendView = new FriendView({model: friendModel});
this.$el.append(friendView.render().el);
}
});
Run Code Online (Sandbox Code Playgroud) 无论我做什么,我都会收到消息:
凉亭MODULE_NOT_FOUND无法找到模块'qs'
每当我尝试用凉亭安装包裹时.
NPM版本1.4.14 Bower版本1.3.8节点版本0.10.29
任何人都知道我可以做些什么来修复?我现在已经没有想法,我已经尝试重新安装节点,降级NPM(从1.5.0 Beta 3).