南京排名推广(南京产品推广)
26
2022-12-22
本文目录一览:
在 之前的一篇文章 中,我们知道,从组件的角度看,一个 Angular 应用可以看作是按树形结构组织的组件集合。组件树的根结点,是主组件,作为全局组件的占位符,可以包含其他功能组件及其子组件。
在 Angular 应用中,一个组件会承担一个应用功能的一部分职责。换句话说,一个应用功能会分解为若干个组件共同去完成。基于组件去管理 Angular 应用,如果业务复杂,组件过多,粒度会显得过细,难于管理。
Angular 应用提供了一种组件管理机制,可以把实现同一个功能的多个组件,划分到一个组中,称为模块(module)。这使得应用的开发,测试,扩展,升级和部署更加容易。
一个 Angular 应用至少包含一个模块,也就是主模块, AppModule . 我们创建的其他模块称为特征模块 (feature module),表示应用的主要功能特征。
下面我们就开始创建一个特征模块。
为了更好地介绍 Angular 如何使用模块,我们新建一个书店管理应用。
创建完 Angular 应用,接下来就是定义应用的特征功能。
书店管理应用的一个重要特征是图书管理,而图书管理的主要功能如下所示:
在上述的需求中,图书管理可以作为 Angular 应用的一个特征模块,而展示图书列表、显示图书详情和模糊查询图书是该模块下的三个功能组件。
现在,我们创建一个图书管理模块。
打开命令行应用,导航到项目的根路径,运行下面的命令:
命令输出:
命令成功执行后,Angular CLI 会在 app 文件夹下,创建一个 books 文件夹。在 books 文件夹下,会包含所有与图书管理相关的功能文件。
在 books 文件夹下,Angular CLI 还创建了一个 books.module.ts 的 TypeScript 文件,包含了 BooksModule 模块的定义。
从模块的定义可以看出,Angular 的模块就是一个附加了 @NgModule 装饰器的普通 TypeScript 类。 @NgModule 装饰器的主要属性:
我们已经知道如何使用 Angular CLI 命令创建一个组件,但是如何把组件注册到模块呢?Angular 提供了两种方式。第一种是隐式注册,在模块所在的文件下创建组件;第二种是显示注册,在命令中指定模块和路径。
下面,我们就采用第二种方式,在 BooksModule 模块中,注册一个图书列表组件。运行下面的命令:
--module 参数表示组件要注册的模块,创建指令和管道时,也可以使用该参数。当然我们也可以使用完整的路径指定模块,如 --module=books/books.module.ts .
命令输出:
从命令输出内容中,我们也可以看到,Angular CLI 命令创建了组件相关的文件,并修改了模块文件,完成了组件的注册:
现在,我们希望在应用的首页上显示图书列表组件模板的内容。应用的首页默认显示主组件模板内容,那么,如何把图书列表组件模板添加到主组件模板上进行显示呢?
首先,我们需要导出图书列表组件,允许主组件使用。修改 BooksModule 模块的 @NgModule 装饰器,在 exports 属性中,添加 BookListComponent 组件:
然后,在 AppModule 模块中,导入 BooksModule 模块:
最后,修改 AppComponent 组件的模板,把下列内容
替换为
运行应用,打开浏览器,访问 ,图书列表模板的内容已经成功显示。
实现对template的函数就行
templateUrl: function($routeParams) {
return 'tpl/home/' + $routeParams.id ;
}
如果是在服务端报出错误的话,那肯定是beego解析模板的时候出错了。angular的模板就是纯html,因为它是前端的库,所以如果出错的话,肯定实在浏览器的console里报错的。
用angular渲染bootstrap中的tab切换的
思路:先加载scope中的tabs,然后利用后台bootstrap渲染即可。
1、angularjs代码:
angular.module('TabsApp', [])
.controller('TabsCtrl', ['$scope', function ($scope) {
$scope.tabs = [{
title: 'One',
url: 'one.tpl.html'
}, {
title: 'Two',
url: 'two.tpl.html'
}, {
title: 'Three',
url: 'three.tpl.html'
}];
$scope.currentTab = 'one.tpl.html';
$scope.onClickTab = function (tab) {
$scope.currentTab = tab.url;
}
$scope.isActiveTab = function(tabUrl) {
return tabUrl == $scope.currentTab;
}
}]);
2、渲染效果:
Angular:
Angular是一款优秀的前端JS框架,已经被用于Google的多款产品当中。它有以下的特性:1.良好的应用程序结构;2.双向数据绑定;3.指令;4.HTML模板;5.可嵌入、注入和测试。
优点:
1.模板功能强大丰富,自带了极其丰富的angular指令。
2.是一个比较完善的前端框架,包含服务,模板,数据双向绑定,模块化,路由,过滤器,依赖注入等所有功能;3.自定义指令,自定义指令后可以在项目中多次使用。
4.ng模块化比较大胆的引入了Java的一些东西(依赖注入),能够很容易的写出可复用的代码,对于敏捷开发的团队来说非常有帮助。
5.angularjs是互联网巨人谷歌开发,这也意味着他有一个坚实的基础和社区支持。
缺点:
1.angular入门很容易但深入后概念很多,学习中较难理解。
2.文档例子非常少,官方的文档基本只写了api,一个例子都没有,很多时候具体怎么用都是google来的,或直接问misko,angular的作者。
3.对IE6/7兼容不算特别好,就是可以用jQuery自己手写代码解决一些。
4.指令的应用的最佳实践教程少,angular其实很灵活,如果不看一些作者的使用原则,很容易写出四不像的代码,例如js中还是像jQuery的思想有很多dom操作。
5.DI依赖注入如果代码压缩需要显示声明。
以上就是青藤小编关于Web前端主流框架:Angular的优缺点分析的相关分享,希望对大家有所帮助,想要了解更多相关内容,欢迎大家及时关注哦!
angular网站模板的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于Angular框架、angular网站模板的信息别忘了在云尚网络www.ysfad.net进行查找喔。
发表评论
暂时没有评论,来抢沙发吧~