加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 20:51:45 所属栏目:asp.Net 来源:网络整理
导读:好的,所以我在ASP.Net SPA项目的_Layout.cshtml中有一个常量变量,我会传递它们,以便Angular可以访问这些变量. 我怎样才能做到这一点? 例如,这是我试图转移的一个值. var lenderValues = @Html.Action("GetLenderDropdownValues","Dropdown"); 这是我的第一
好的,所以我在ASP.Net SPA项目的_Layout.cshtml中有一个常量变量,我会传递它们,以便Angular可以访问这些变量.

我怎样才能做到这一点?

例如,这是我试图转移的一个值.

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

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

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

我知道如何在AngularJS 1.x中使用常量并注入需要的常量,但无法在Angular中找到它.

任何帮助将受到高度赞赏.

解决方法

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

>定义一个常量

导入主模块时需要传递此常量.虽然在导入本身上不可能这样做.您可以导入一个函数并使用参数调用它.

以下是引导应用程序的主模块示例:

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注入所有元素,如组件:

@Component({
  (...)
})
export class SomeComponent {
  constructor(@Inject('lenderValues') lenderValues) {
  }
}

>在my-rite-ui元素上定义一个参数

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

然后,您可以将数据添加为提供程序.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读