小编sim*_*ser的帖子

即使状态发生变化,也无法加载ui-view

我正在使用Angular UI路由器.请在下面找到代码.

的index.html

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.6/angular.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/1.0.3/angular-ui-router.min.js"></script>
    <script src="../../Scripts/AngularControllers/LoginHomeControllers/RouteMainController.js"></script>
    <script src="../../Scripts/AngularControllers/LoginHomeControllers/LoginController.js"></script>
</head>
<body>
    <div ui-view="mainview"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

RouteMainController.js

var app = angular.module("appHome", ['ui.router']);

app.config(function ($stateProvider, $urlRouterProvider) {
    $urlRouterProvider.otherwise('/login');
    $stateProvider
        .state('introduction', {
            url: '/',
            views: {
                'mainview':
                {
                    templateUrl: 'Login.html',
                    controller: 'ctrlLogin'
                }
            }
        })
        .state('login', {
            url: '/login',
            views: {
                'mainview':
                {
                    templateUrl: 'Login.html',
                    controller: 'ctrlLogin'
                }
            }
        })
        .state('home', {
            url: '/home',
            views: {
                'mainview':
                {
                    templateUrl: 'Home.html',
                }
            }
        })
        .state('home.requestsummary', {
            url: '/requestsummary', …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angular-ui-router

8
推荐指数
1
解决办法
183
查看次数

在UI-Grid中的$ http响应之前调用CellFilter

我使用ui-grid绑定来自Role Table的数据,其中包含Department Id作为PrimaryKey.我正在调用Web Api来获取表中的所有角色并以ui-grid显示.

部门表

在此输入图像描述

角色表

在此输入图像描述

我真正的问题是,当我使用cellFilter绑定到网格时,我想将部门ID转换为部门名称,这就是为什么我声明objMapping以使用部门名称映射部门ID.但是每当我运行时,我都会看到在设置objMapping之前调用了cellFilter自定义函数,即'mapDepartmentName',而且我也无法在'mapDepartmentName'中引用objMapping.

我的网格看起来像这样: -

在此输入图像描述

但是当我编辑时,我得到的结果如下,这是绝对正确的: -

在此输入图像描述

我的代码片段如下: -

var myApp = angular.module('appHome', ['ui.grid', 'ui.grid.edit']);
myApp.controller("ctrlRole", ['$scope', 'MetadataOrgFactory', function ($scope, MetadataOrgFactory) {    
    var arrDepts = [];
    var objMapping = {};

    MetadataOrgFactory.getApiCall('getpublisheddepts', function (dataSuccess) {
        $scope.department = dataSuccess;
        for (var cntElem = 0; cntElem < dataSuccess.length; cntElem++) {
            
            var objDept = { id: dataSuccess[cntElem].DeptId, DeptId: dataSuccess[cntElem].DeptName }
            arrDepts.push(objDept);

            objMapping[dataSuccess[cntElem].DeptId] = dataSuccess[cntElem].DeptName;
            
        }      
        $scope.gridRole.columnDefs[1].editDropdownOptionsArray = arrDepts;
    }, function (dataError) {
    });
   

    $scope.gridRole = {
        data: 'roleData',
        columnDefs: [ …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angularjs-scope angularjs-http ui-grid

7
推荐指数
1
解决办法
174
查看次数

如何使用imgURL一次从Amazon S3检索多个图像?

我想基于图像URL从Amazon S3一次性检索图像列表.

目前我可以使用以下代码获取单个图像: -

     AWS.config.update({
                    accessKeyId: accessKeyId,
                    secretAccessKey: secretAccessKey
                });

                AWS.config.region = region;

                var bucketInstance = new AWS.S3();
                var params = {
                    Bucket: bucketName,
                    Key: awsImgUrl
                }
                bucketInstance.getObject(params, function (err, file) {
                    if (file) {
                        var dataSrc = "data:" + file.ContentType + ";base64," + EncodeData(file.Body);
                        callbackSuccess(dataSrc);
                    } else {
                        callbackSuccess("Error");
                    }
                });

EncodeData = function (data) {
        var str = data.reduce(function (a, b) { return a + String.fromCharCode(b) }, '');
        return btoa(str).replace(/.{76}(?=.)/g, '$&\n');
    }
Run Code Online (Sandbox Code Playgroud)

在我的场景中,我有多个S3图像URL,如awsImgUrl1,awsImgUrl2..awsImgUrln.

如何一次性获取它而不是一个接一个?

image amazon-s3 angularjs aws-sdk-js

6
推荐指数
1
解决办法
496
查看次数

从Angular JS使用Web API令牌认证时出现错误请求(400)

我想用Angular JS建立Web API令牌认证作为客户端.我对Web API中的令牌认证概念非常陌生.

我不想使用ASP.NET Identity默认表来添加或验证用户.我有自己的数据库和一个名为"EmployeeAccess"的表,其中包含EmployeeNumber作为用户ID和密码.我想根据此表中的值对用户进行身份验证,然后要授予令牌,以便他们获得后续调用的授权.我已经使用了所有必需的OWIN和ASP.NET引用来实现结果.这是我的不同组件的代码: -

Global.asax中

public class WebApiApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
           // AreaRegistration.RegisterAllAreas();
            GlobalConfiguration.Configure(WebApiConfig.Register);

        }

        protected void Application_BeginRequest()
        {
            if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
            {
                // Cache the options request.
                HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", HttpContext.Current.Request.Headers["Origin"]);
                HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET, PUT, DELETE, POST, OPTIONS");
                HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept, Authorization");
                HttpContext.Current.Response.AddHeader("Access-Control-Max-Age", "1728000");
                HttpContext.Current.Response.End();
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

WebApiConfig.cs

public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {            
            // Web API routes
            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id …
Run Code Online (Sandbox Code Playgroud)

asp.net-web-api angularjs http-token-authentication asp.net-identity owin-middleware

4
推荐指数
1
解决办法
4381
查看次数

从 Angular 的第一个选项卡注销时,从第二个选项卡注销问题

我正在使用 sessionStorage 来保存 accessToken。我的步骤如下:-

  • 登录网站
  • 单击选项卡的重复选项。它将在第二个选项卡中显示网站。
  • 从第一个选项卡注销。
  • 当我刷新/点击第二个选项卡上的任何操作时,希望从另一个选项卡注销。

实际上,它并没有将我从另一个选项卡中注销。

我添加了下面的代码,但它没有按预期工作。

@HostListener('window:storage', ['$event'])
    onStorageChange(sv:StorageEvent) {       
      if(sv.storageArea == sessionStorage) 
      {
        let token = sessionStorage.getItem('accessToken');
        if(token == null || token == undefined)
            this.router.navigate(['/login']);
      }
    }
Run Code Online (Sandbox Code Playgroud)

如果我做错了什么,请告诉我。我目前在主页中使用此代码。它是正确的位置吗?

authentication session-storage access-token angular

4
推荐指数
1
解决办法
1019
查看次数

如何根据显示值过滤agGrid中的行?

我有 agGrid,其中包含使用 refData 属性的列。它显示为“是”或“否”,但基础值为“1”或“0”。我想按数据过滤列,但按“是”或“否”过滤时没有给出任何结果。然而,当我输入基础数据(即 1 或 0)时,过滤器开始工作。

HTML 文件

<ag-grid-angular class="ag-theme-balham" 
            [rowData]="categoryRowData" [columnDefs]="categoryColDef" [domLayout]="domLayout"
            (gridReady)="onGridReady($event)">
       </ag-grid-angular>
Run Code Online (Sandbox Code Playgroud)

TS文件

export class CategoryComponent implements OnInit{
    private domLayout;
    private objCategoryEditor = {};
    categoryColDef ;

    constructor()
    {
        this.getCategoryMapping();
        this.createCategoryColDefinition();
    }

    ngOnInit() {        
        this.domLayout = "autoHeight";
    }

    onGridReady(params: any) {            
        params.api.sizeColumnsToFit();
        params.api.resetRowHeights();                                     
    }

    createCategoryColDefinition() {
        this.categoryColDef = [            
        {
            headerName: 'Is Subcategory', field: 'IsSubcategoryText', resizable: true,filter:true,
            editable: function (params: any) {
                return true;
            },
            cellEditor: "agSelectCellEditor",
            cellEditorParams: {
                values: this.extractValues(this.objCategoryEditor),
            },
            refData: this.objCategoryEditor,            
        }
    ]}

    getCategoryMapping() …
Run Code Online (Sandbox Code Playgroud)

filtering ag-grid angular ag-grid-angular

1
推荐指数
1
解决办法
3909
查看次数

获取响应为"data":null,"status": - 从AngularJS调用web api时为1

我试图从Angular JS 1.6.0调用Web API GET方法并得到以下错误: -

可能未处理的拒绝:{"data":null,"status": - 1,"config":{"method":"GET","transformRequest":[null],"transformResponse":[null],"jsonpCallbackParam" :"callback","url":" http:// localhost:51972/api/video ","headers":{"Accept":"application/json,text/plain,/ "}},"statusText": ""}

当我从Fiddler 4调用相同的GET方法并返回JSON Text时,我得到了正确的JSON响应.

请注意,我的WEB API和Angular JS代码位于不同的目录中.

根据Dez的评论,我修改了WebApiConfig.cs以从WebAPI返回JSON响应

WebApiConfig.cs

 public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {

            // Web API routes
            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );

            config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html"));
            config.Formatters.Remove(config.Formatters.XmlFormatter);
        }
    }
Run Code Online (Sandbox Code Playgroud)

VideoController.cs

public class VideoController : ApiController
{
        [Route("api/video")]
        public List<VideoViewModel> GetVideo()
        {
            List<VideoViewModel> video = new List<VideoViewModel>();
            video.Add(new VideoViewModel { Name = …
Run Code Online (Sandbox Code Playgroud)

asp.net-web-api angularjs angularjs-http

0
推荐指数
1
解决办法
5678
查看次数