标签: ng-init

AngularJS:如何在模板中设置变量?

如何避免{{f = ...}}在第三行中的语句打印出内容forecast[day.iso]

我想避免forecast[day.iso].temperature每次迭代使用等等.

<div ng-repeat="day in forecast_days">
  {{$index}} - {{day.iso}} - {{day.name}}
  {{f = forecast[day.iso]}}
  Temperature: {{f.temperature}}<br>
  Humidity: {{f.humidity}}<br>
  ...
</div>
Run Code Online (Sandbox Code Playgroud)

javascript angularjs ng-init

85
推荐指数
2
解决办法
10万
查看次数

我怎么能从服务器端控制器和AngularJS控制器传递数据?

我遇到了我认为是常见的场景,我在其中使用MVC模式(特别是ASP.NET的MVC框架)用于Web应用程序,前端使用AngularJS.我的问题是我有一个特定的值,它是模型的一部分传递给我的视图,我也想让我的Angular控制器的$ scope,理想情况下,一旦控制器被初始化.

如何做到这一点是以前被问及回答的问题.有一个显而易见的候选人:ngInit.然而,在某些时候,Angular更新了他们的文档,似乎是针对这一具体想法的警告:

唯一合适的用途ngInit是用于别名的特殊属性ngRepeat,如下面的演示中所示.除了这种情况,您应该使用控制器而不是ngInit初始化范围上的值.

建议的替代方案并不十分相关.

当然,还有其他我能想到的解决方法.例如,视图可以将值插入到ngModel隐藏输入的指令中.或者我可以简单地忽略警告并使用ngInit无论如何.但是,我能想到的任何一种方式都是一种更丑陋的方式来做同样的事情ngInit,或者显然更糟.

事实上,对我来说似乎是明显的解决方案显然是错误的,这可能是我的心态与Angular应该如何完成无关的指标.所以我的问题不是"我该如何处理这种情况",而是:

  1. 我怎么应该处理,或避免这种情况?
  2. 为什么我不应该使用ngInit

澄清,因为从前两个评论来看,这一点并不清楚:这是针对某个或大部分页面直接作为MVC视图提供的情况,只有一些特定的功能由Angular提供.我想传递给Angular控制器的数据已经传递给模型中的视图.我不希望Angular控制器然后去为服务器做自己的get请求,只是为了获得已经以不同格式提供给视图的相同参数.

javascript asp.net-mvc angularjs angularjs-controller ng-init

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

类型“Object”不可分配给类型“null”

在添加一个名为的函数后,我收到此错误,ngInit该函数将调用类getCountries中的函数Service

“类型‘Object’不能分配给类型‘null’”

import { Component, OnInit } from '@angular/core';
import {MessageService} from './message.service';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {

  title = 'Tour of Heroes';

  countryData = null;
  constructor(private api:MessageService) {}
  ngOnInit() {
    this.api.getCountries().subscribe((data)=>{
      this.countryData = data;
    });
  }

}
Run Code Online (Sandbox Code Playgroud)

typescript ng-init angular angular12

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