写点什么

使用 Angular.JS 和 ASP.NET 创建单页应用

  • 2014-04-10
  • 本文字数:906 字

    阅读完需:约 3 分钟

周三(4 月 2 日)的 Build 大会上,David Catuhe 和 Jon Galloway 做了一个关于将 AngularJS 用于 ASP.NET 应用程序的演讲。他们为开发者提供了一种方式,可以快速构建流行的单页 Web 应用。

Angular 是由 Google 创建并运营的开源项目。顾名思义,这是一个基于 JavaScript 的库,遵循模型 - 视图 - 控制器(MVC)设计模式。如 Catuhe 和 Galloway 所说,Angular 使用依赖注入,使 ASP.NET 应用更加强大。要想启用 Angular,只需要引入单个文件 angular.min.js。(NuGet 用户可以获取最新版本(beta)或稳定版本。)

他们指出,Angular 并不是一个非此即彼的方案,你完全可以仅使用其中的页面选取功能。不管怎样,Catuhe 和Galloway 都建议在项目的Scripts 文件夹下创建一个“apps”目录,来组织文件。

压缩JS 文件时需要格外注意:由于会影响Angular 的依赖注入,因此默认情况下对应用代码进行压缩会破坏应用程序本身。(Angular 教程文档的“A Note on Minification”一节对此进行了详细介绍。)

要真正在页面中激活Angular,需要在html 标签中添加“ng-app”:

复制代码
<html ng-app … >

这可以通知 Angular 准备好做某些事情。Angular 通过其自带的轻量级版本的 jQuery,使用 $http 加载文件。如果项目已经安装了 jQuery,Angular 将会使用该版本,以保持一致性。

Catuhe 和 Galloway 还展示了一个示例应用,一个显示并存储“万智牌”信息的单页应用(SPA)。单页应用只用一个视图来构建 UI,而 Angular 本身使用路由来定义这些视图。

由于 Angular 中过深的链接会使 MVC 路由造成冲突,因此他们建议使用一个路由:

复制代码
routes.MapRoute(
name: "Catch all route for SPA",
url: "App/{*catchall}",
defaults: new{
controller = "Home",
action = "Index"});

还有一个关于显示 HTML 的小技巧。如果 HTML 是视图生成的,一切都没有问题。但如果 HTML 来自文件(如 MyHTML.html),应该使用 IIS 重写规则来改变 URL:

复制代码
/myHTML.html -> /myHTML

要想观看完整的 demo 应用,请查阅该演讲的 Channel9 页面

原文链接: Creating Single Page Apps With Angular.JS and ASP.NET

2014-04-10 20:374679
用户头像

发布了 59 篇内容, 共 21.4 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

我的 2020 iOS BAT面试心得:Bigo、字节、快手、伴鱼、百度、微博等

iOSer

ios 面试

收藏手册:Docker安装RabbitMQ,只需3步

互联网应用架构

Docker RabbitMQ

谈谈力软快速开发平台B/S专业报表工具

Philips

敏捷开发 开发工具

Java ConcurrentHashMap 高并发安全实现原理解析

vivo互联网技术

Java hashmap 多线程 高并发

使用递增计数器的线程同步工具 —— 信号量,它的原理是什么样子的?

程序员小航

Java 源码 源码阅读 JUC Semaphore

Java新特性:数据类型可以扔掉了?

Java 编程 架构师

Kotlin 插件1.4.10使用报错

三爻

android kotlin

(0)skynet序章

休比

智能商业时代的思考(三)数据驱动

刘旭东

大数据 数据驱动 智能商业

架构设计:微服务架构如何划分?这6个标准原则让你一目了然

互联网应用架构

微服务 架构设计

高难度对话读书笔记

wo是一棵草

rpc探路(一)

余歌

第十一周.命题作业

刘璐

科大讯飞再握一国产核心技术,可高精细拾取30分贝超小音量

Talk A.I.

大作业2

雪涛公子

站在巨人的肩膀上学习:五位阿里大牛联手撰写的《深入浅出Java多线程》

Java架构之路

Java 编程 面试 并发编程 多线程

拆分链表、图解HTTPS、Zookeeper原理、如何成为技术专家、架构师三板斧 John 易筋 ARTS 打卡 Week 18

John(易筋)

ARTS 打卡计划 图解https ZooKeeper原理 架构师三板斧 拆分链表

JavaScript原型机制

Clloz

Java 原型

Golang框架探索(一)

余歌

Web框架 Go web

实践解读丨Python 面向对象三大特征之多态

华为云开发者联盟

编程 面向对象

2020 恒生 LIGHT 开发者大会,早鸟票限时开售

DT极客

收藏手册:该不该用Lombok?15个常用注解全解析

互联网应用架构

lombok

(1)skyent VMware Workstation Pro下载与安装

休比

测试工程师在敏捷项目中扮演什么角色?

禅道项目管理

程序员 敏捷开发 测试

当代开发者的好帮手,浅析.NET敏捷开发框架的优势与特点

Learun

敏捷开发 开发工具

LeetCode题解:144. 二叉树的前序遍历,递归,JavaScript,详细注释

Lee Chen

大前端 LeetCode

RDS、DDS和GaussDB理不清?看这一篇足够了!

华为云开发者联盟

数据库 华为云 RDS

Golang 反射性能优化

余歌

性能优化 Go 语言

springboot2.3手册:多租户及自动创建数据,这样做

互联网应用架构

springboot mybaitsplus 多租户 自动填充基础信息

Java开发连Redis都不会还想跳槽涨薪?先把Redis的知识点吃透再说

Java架构之路

Java redis 编程 程序员 面试

分布式数据库拆分常用之法

华为云开发者联盟

数据库 架构 分布式

使用Angular.JS和ASP.NET创建单页应用_语言 & 开发_Jeff Martin_InfoQ精选文章