小编pan*_*kaj的帖子

msal和angular 4重定向Url

我正在使用msal.js来验证用户身份.我成功获得了令牌.在azure portal的redirectURl中,我将路径指定为" http:// localhost:44340 ".

我的app.routing模块如下所示:

 const routes: Routes = [
  { path: 'authentication', component: LoginComponent },
  { path: '', redirectTo: '/lists', pathMatch: 'full' , canActivate: [AuthenticationGuard] },
  { path: 'lists', component: ApplicationContainer ,  canActivate: [AuthenticationGuard]}
];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }
Run Code Online (Sandbox Code Playgroud)

我的问题是当用户登录时我得到令牌并且当redirecturi到达'/ lists'时.我有一个gaurd.在gaurd的一侧,由于页面未重定向,因此尚未设置标记值.这就是为什么它一直都是假的,我被重定向回登录页面.

azure-ad-msal angular

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

使用有角材料向右浮动

我有 MD 卡内容。在它里面我有一个 div 和一个 md-card-content 。md-card-content(inner) 的内容我想向右移动。我使用过padding-left= 50%,但如果第一个 div 中的文本较长,它就会超出页面。我也用过 layout-align="end start"但是没用。

  <md-card>
  <md-card-content layout="row">       
         <div layout="column">
            <div>
            <md-icon md-svg-icon="extraIcons:offline" class="md-24"></md-icon>
             <span class="md-subhead">{{vm.device.serialNumber}}</span>
            </div>
            <div>
             <md-icon md-svg-icon="extraIcons:offline" class="md-24"></md-icon>
            <span class="md-subhead">{{vm.device.ipAddress}}</span>  
            </div>         
         </div>

         <md-card-content class="layout-row layout-align-end-start">
             <div>
                <md-icon md-svg-icon="extraIcons:{{vm.device.connectionStatus|lowercase}}" class="md-24 "></md-icon>
             </div>
             <div>
                 <md-icon md-svg-icon="extraIcons:{{vm.device.operationalStatus|lowercase}}" class="md-24 {{vm.device.operationalStatus|lowercase}} "></md-icon>
             </div>
    <!--
    <div>
        <md-icon md-svg-icon="extraIcons:{{vm.device.overallStatus|lowercase}}" class="md-24 {{vm.device.overallStatus|lowercase}} "></md-icon>
    </div>
    -->
              <div ng-if="vm.device.requiresMaintenance">
                 <md-icon md-svg-icon="extraIcons:maintenance" class="md-24 maintenance"></md-icon>
              </div>
         </md-card-content>
      </md-card-content>
      </md-card>
Run Code Online (Sandbox Code Playgroud)

html css user-interface angular-material

5
推荐指数
1
解决办法
2万
查看次数

如何在 Luxon 中使用 diff 方法

我目前从日历控件获取日期,并使用 luxon 我添加天数、分钟数并将其更改为 LongHours 格式,如下所示: newValue :是我从前端获得的值(日历控件)

  let formattedDate: any;
  FormattedDate = DateTime.fromJSDate(new Date(newValue)).plus({ days: 1, hours: 3, minutes: 13, seconds: 10 }).toLocaleString(DateTime.DATETIME_HUGE_WITH_SECONDS)
  console.log(formattedDate);

  const formattedDateParsed = DateTime.fromJSDate(new Date(formattedDate));
  const newValueParsed = DateTime.fromJSDate(new Date(newValue));

  var diffInMonths = formattedDateParsed.diff(newValueParsed, ['months', 'days', 'hours', 'minutes', 'seconds']);
  diffInMonths.toObject(); //=> { months: 1 }
  console.log(diffInMonths.toObject());
Run Code Online (Sandbox Code Playgroud)

目前 formattedDateParsed 为“Null”

我能得到一些关于如何解析日期以便计算差异的帮助吗

javascript luxon

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

如何在 Mat-Menu Angular/material2 中呈现项目列表

回到 materialc1,我能够在我的材质菜单中呈现一个按钮列表,如下所示:

  <md-menu>
  <md-button ng-click="vm.openMenu($mdMenu, $event)">     
     <md-icon md-svg-icon="extraIcons:toolbox" aria-label="Toolbox"></md-icon>
  </md-button>
  <md-menu-content>
    <md-menu-item ng-repeat="hi in vm.ListofPizza">          
     <md-button ng-click="vm.orderPizza(hi.id)">                        
         {{hi.name}}          
    </md-button>            
  </md-menu-item>
 </md-menu-content>
Run Code Online (Sandbox Code Playgroud)

我试图在 material2/angular2 中做同样的事情,如下所示:

<button mat-fab color="primary" [matMenuTriggerFor]="menu">
<mat-icon svgIcon="extraIcons:toolbox">
</mat-icon>   
</button>
<mat-menu #menu="matMenu">
<mat-menu-item *ngFor="let hi ofListofPizza">                 
<button mat-button> {{hi.name}}</button>
</mat-menu-item>
Run Code Online (Sandbox Code Playgroud)

然而,这给了我下面提到的错误:

一个元素上不能有多个模板绑定。仅使用一个名为“模板”或以 * ("

菜单=“垫菜单”>

我究竟做错了什么?

angular-material2 angular

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

使用 Angularjs 下载 json

我有 webapi 返回我的数据,我需要将数据下载到 txt 文件中。我已经使用下面的代码完成了它,并且我得到了想要的结果。我以某种方式在寻找更好的方法。有没有角度的方法可以做到这一点?

$scope.downloadResponseAsInfoFile = function (response) {
    var link = document.createElement("a");
    link.download = "info.txt";
    var data = "text/json;charset=utf-8," + encodeURIComponent(response);
    link.href = "data:" + data;
    link.click();
};
Run Code Online (Sandbox Code Playgroud)

如果我没有得到服务器的响应,我该如何处理异常。

javascript angularjs

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

无法使用 ngx-translate 的 service-translate.get 翻译文本

我能够使用翻译管道翻译文本,但目前正在努力使用翻译服务的 get 和 instant 方法加载翻译。下面是我在 app.component.ts 中的代码

export class AppComponent {

event : string;
constructor(private translate: TranslateService) {
    translate.addLangs(["en", "fr"]);
    translate.setDefaultLang('en');
    let LangChangeEvent : {}
    let browserLang = translate.getBrowserLang();
    translate.use(browserLang.match(/en|fr/) ? browserLang : 'en');

    this.translate.get('ALL_LOCATIONS_TREEVIEW').subscribe((event: String) => {
              console.log(event);

          });
}

}  
Run Code Online (Sandbox Code Playgroud)

我正在控制台中打印事件。我希望每当用户改变语言时它的翻译也会改变。我的其余翻译(使用管道)工作正常,但我看不到控制台中语言变化的变化。我缺少什么?

internationalization rxjs ngx-translate angular

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