pre*_*msh 6 asp.net single-page-application angular
好的,所以我在ASP.Net SPA项目的_Layout.cshtml中有一个常量变量,我会传递它们,以便Angular可以访问这些变量.
我怎样才能做到这一点?
例如,这是我试图转移的一个值.
var lenderValues = @Html.Action("GetLenderDropdownValues", "Dropdown");
Run Code Online (Sandbox Code Playgroud)
这是我的第一个app.component启动的方式.
<my-rite-ui>Loading...</my-rite-ui>
Run Code Online (Sandbox Code Playgroud)
我知道如何在AngularJS 1.x中使用常量并注入需要的常量,但无法在Angular中找到它.
任何帮助将受到高度赞赏.
这取决于你想要做什么,但我看到两种可能性:
导入主模块时需要传递此常量.虽然不可能在import自己身上做到这一点.您可以导入一个函数并使用参数调用它.
以下是引导应用程序的主模块示例:
import {bootstrap} from '...';
import {provide} from '...';
import {AppComponent} from '...';
export function main(lenderValues) {
bootstrap(AppComponent, [
provide('lenderValues', { useValue: lenderValues })
]);
}
Run Code Online (Sandbox Code Playgroud)
然后你可以从HTML主页面导入它,如下所示:
<script>
var lenderValues = @Html.Action("GetLenderDropdownValues", "Dropdown");
System.import('app/main').then((module) => {
module.main(lenderValues);
});
</script>
Run Code Online (Sandbox Code Playgroud)
lenderValues然后你可以注入所有元素,如组件:
@Component({
(...)
})
export class SomeComponent {
constructor(@Inject('lenderValues') lenderValues) {
}
}
Run Code Online (Sandbox Code Playgroud)
my-rite-ui元素上定义参数您可以在此级别指定参数,但无法对其进行评估.所以它更麻烦,因为你需要将它序列化为字符串JSON.stringify,从组件中获取组件中的元素ElementRef并使用它反序列化它JSON.parse.
然后,您可以将数据添加为提供程序.
| 归档时间: |
|
| 查看次数: |
1262 次 |
| 最近记录: |