小编Geo*_*nap的帖子

使用Visual Studio和Typescript 2.0.3从打字输入到@types

我试图从我的Web项目(Visual Studio 2015社区)中删除打字输入,并通过package.json中的新NPM @types(typescript 2.0.3)安装d.ts文件:

 "dependencies": {
    "@types/angular": "^1.5.8",
    "@types/angular-cookies": "^1.4.2",
    "@types/angular-local-storage": "^0.1.33",
    "@types/angular-material": "^1.1.37",
    "@types/angular-translate": "^2.4.33",
    "@types/lodash": "^4.14.36"
  }
Run Code Online (Sandbox Code Playgroud)

Visual Studio的IntelliSense之前很好地处理了打字,因为我在VS项目中包含了typings文件夹.NPM将类型安装到node_modules/@types文件夹中.现在这是我的问题.我真的不想node_modules在VS项目中包含任何内容. node_modules文件夹应该可以被删除并由npm随意重新创建.如果没有将它们包含在项目中,Visual Studio将无法识别已安装的类型!我想我可以创建一个带有///引用标签的文件,但是在安装/删除打字时我必须手动维护这个文件.

是否有任何推荐的方法使VS IntelliSense工作?

visual-studio-2015 typescript-typings typescript2.0

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

如何从信号和可观测值创建计算信号?

想象一下 Angular 中的标准情况:您需要从服务器获取某些实体 ID 的数据。实体 ID 是一个信号,您希望获取的数据也成为信号。

像这样的事情感觉很自然:


@Component({
  selector: 'my-app',
  standalone: true,
  imports: [CommonModule],
  template: `
  <code>{{roles()}}</code>
  `,
})
export class App {
  userId: Signal<string> = signal('userA');
  roles = computed(() => toSignal(getRoles(this.userId())));
}

//this could be api service sending  http request
const getRoles = (userId: string) => {
  return userId === 'userA' ? of([1, 2, 3]) : of([1]);
};
Run Code Online (Sandbox Code Playgroud)

但浏览器控制台出现运行时错误:

Error: NG0203: toSignal() can only be used within an injection context such as a constructor, a factory function, a …
Run Code Online (Sandbox Code Playgroud)

angular angular-signals

9
推荐指数
2
解决办法
6805
查看次数

Angular 控制台日志源始终是instrument.js

我现在在最新版本 12.6.5 的 NX Monorepo 中运行 Angular 12.1.0。很长一段时间(不仅仅是上一个版本)我注意到系统中角度组件的控制台日志被标记为来自instrument.js文件而不是真正的 ts 文件。

截屏

我正在尝试调查它,但它不会在新生成的 NX 存储库中发生。我不知道该把搜索重点放在哪里。Webpack 的东西隐藏在 Angular CLI 后面。谁能给我提示吗?

google-chrome monorepo angular nrwl-nx

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

服务器渲染 DOM 的一部分并将其注入到 Angular 应用程序中

假设我们有一个标准的浏览器 Angular(现在是 v.11)仪表板应用程序:仪表板包含小部件,这些小部件是从 API 获取数据并显示值(KPI、图表、表格等)的组件。

问题是:有没有办法在服务器上呈现小部件并将它们注入仪表板 DOM 中?

由于这些小部件是 Angular 组件,我的想法是 Angular 是否可以在服务器上运行,将组件编译为静态 DOM 并将其注入运行 Angular 应用程序的浏览器。

我试过 Universal 但那真的是为了预渲染第一页,不认为它对这种情况有好处,或者?

谢谢!

server-side-rendering angular

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