大家好我想知道如何在Angular 2中使用MVC视图而不是模板。 在Angular 2中我使用的是RouteProvider:
$routeProvider.
when('/BusinessLookup', {
templateUrl: 'Home/BusinessLookup',
controller: 'BusinessLookupController'
});
我怎样才能使用$Scope
来处理元素值。
答案 0 :(得分:2)
你所要求的是Isomorphic Javascript。基本上,您无法在客户端上运行Razor,但您可以在服务器上运行javascript。
您在nodejs
范围内寻找的内容可能更多。它可能通过改变架构来完成,但这意味着要改变问题。
答案 1 :(得分:2)
您可以直接在templateURL中调用cshtml视图
import {Component, OnInit} from "angular2/core";
@Component({
selector: "mvc",
templateUrl: "/partial/message"
})
export class MvcComponent implements OnInit {
message: string;
constructor() { }
ngOnInit() {
this.message = "The '/partial/message' path was used as the Angular2 'templateUrl'. However, this routes through the 'PartialController' hitting the 'Message' action and is served after standard MVC pre-processing. Likewise, there is a 'message' property bound to the <blockqoute> element."
}
}
Partial /Message.cshtml
@{
ViewBag.Title = "MVC";
}
<mvc>
<blockquote *ngIf="message">{{message}}</blockquote>
</mvc>
答案 2 :(得分:1)
当然,您可以将cshtml渲染为模板!
@Component({
moduleId: module.id,
templateUrl: "/YourController/YourAction"
})
当需要模板时,Angular会向'templateUrl'发出http请求。
如果该url被解析为MVC Action,那么IIS调用传统的MVC管道,它可以用Razor解析cshtml,最后返回对于angular有效的html
答案 3 :(得分:0)
是的,你可以这样做。
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: '/Student/Register',
})
export class AppComponent { name = 'first Angular demo'; }
在视图中创建目录学生添加文件Register.cshtml
Hello {{name}}