gpt4 book ai didi

asp.net - 将常量值从 _layout.cshtml 传递给 Angular

转载 作者:太空狗 更新时间:2023-10-29 17:23:19 24 4
gpt4 key购买 nike

好的,所以我在 ASP.Net SPA 项目的 _Layout.cshtml 中有一个常量变量,我想传递它们以便 Angular 可以访问这些变量。

我该怎么做?

例如,这是我要传输的一个值。

var lenderValues = @Html.Action("GetLenderDropdownValues", "Dropdown");

这是我的第一个 app.component 启动的方式。

<my-rite-ui>Loading...</my-rite-ui>

我知道如何在 AngularJS 1.x 中只使用常量并在需要的地方注入(inject)该常量,但无法在 Angular 中解决。

任何帮助将不胜感激。

最佳答案

这取决于你到底想做什么,但我看到两种可能性:

  • 定义一个常量

导入主模块时需要传递这个常量。而不可能在 import 本身上执行此操作。您可以导入一个函数并使用参数调用它。

这是引导您的应用程序的主要模块的示例:

import {bootstrap} from '...';
import {provide} from '...';
import {AppComponent} from '...';

export function main(lenderValues) {
bootstrap(AppComponent, [
provide('lenderValues', { useValue: lenderValues })
]);
}

然后您可以像这样从您的 HTML 主页导入它:

<script>
var lenderValues = @Html.Action("GetLenderDropdownValues", "Dropdown");
System.import('app/main').then((module) => {
module.main(lenderValues);
});
</script>

你的 lenderValues 可以像组件一样注入(inject)所有元素:

@Component({
(...)
})
export class SomeComponent {
constructor(@Inject('lenderValues') lenderValues) {
}
}
  • my-rite-ui 元素上定义一个参数

您可以在此级别指定参数,但无法对其进行评估。所以它有点乏味,因为您需要使用 JSON.stringify 将其序列化为字符串,从组件中相应的 ElementRef 获取元素并使用 反序列化它JSON.parse.

然后您可以将数据添加为提供者。

关于asp.net - 将常量值从 _layout.cshtml 传递给 Angular,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37312018/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com