每天抽出一些时间学习 Angular2 ,并准备把手头上的项目移植为 Angular2 , 不过今天又遇到了一些小问题。

准备写一个导航类适于管理后台常见的右边导航,如博客园的这种:

!

使用 g generate component nav-left 建立了一个名为 nav-left 的导航组件。

这里需要检查app,modile.ts中是否已经有你新建的组件。一般会自动添加,如果不存在需要添加引用:

import { NavLeftComponent } from './nav-left/nav-left.component';

模块装饰器需要添加:

@NgModule({

declarations: [

NavLeftComponent,

]

})

并在 nav-left.component.ts 中新建了一个类,Item 用来保存菜单的项,代码如下:

import { Component, OnInit } from '@angular/core';

@Component({
selector: 'app-nav-left',
templateUrl: './nav-left.component.html',
styleUrls: ['./nav-left.component.css'],
}) export class NavLeftItem{
name:string;
path:string;
data:any;
active?:string="";
} export class NavLeftComponent implements OnInit { constructor() { }
}

开开心心的运行查看报错结果^^~!

报错的信息忘截图了,大致的意思是找不到这个模块,或这个模块没办法解析。

这步骤花了好长时间,最终确定问题竟然有两处,也没继续深研,分别是:

1:需要单独创建数据类。把Item单独提取一个类。 最终结果如图:

2:我在组件中写了一些预定义的数据,如下:

  //这里需要注意变量顺序,我这里是错的,因为titleList中的其他变量引用还未定义。。。。
public titleList :Array<{"name":string,"list":any}> =[
{"name":"后台工具","list":this.adminTool},
{"name":"运维工具","list":this.maintenanceTool},
{"name":"运营工具","list":this.statisticalTool},
{"name":"GM工具","list":this.gmlTool}
]; /**
* 后台工具
*/
public adminTool:Array<NavLeftItem> = [
{"name":"账号列表","path":"manage/index","data":null},
{"name":"账号权限","path":"manage/index","data":null},
{"name":"账号密码","path":"manage/index","data":null},
{"name":"账号添加","path":"manage/index","data":null},
{"name":"游戏列表","path":"manage/index","data":null},
{"name":"渠道列表","path":"manage/index","data":null},
{"name":"渠道添加","path":"manage/index","data":null},
{"name":"操作日志","path":"manage/index","data":null},
{"name":"操作详情","path":"manage/index","data":null},
];
/**
* 运维工具
*/
public maintenanceTool:Array<NavLeftItem> = [
{"name":"Log服务器列表","path":"manage/index","data":null},
{"name":"Log服务器添加","path":"manage/index","data":null},
{"name":"Log入口服务列表","path":"manage/index","data":null},
{"name":"Log入口服务配置","path":"manage/index","data":null},
{"name":"Log服务器状态","path":"manage/index","data":null},
{"name":"Log服务器日志","path":"manage/index","data":null},
{"name":"Log服务器Qps统计","path":"manage/index","data":null},
{"name":"Log服务器数据库信息","path":"manage/index","data":null},
{"name":"Log服务器合并","path":"manage/index","data":null},
];

一直编译不通过,最终确定问题是顺序问题。。。很尴尬。修改顺序为:

先定义:titleList 然后定义其他几项。

问题解决。~~~~~~~~

angular 引入 component 报错的更多相关文章

  1. 按需引入element-ui报错

    按需引入element-ui报错 项目用的脚手架是 vue-cli 3 按照官方文档按需引入组件: https://element.eleme.cn/#/zh-CN/component/quickst ...

  2. delphi 调用Webservice 引入wsdl 报错 document empty

    delphi 调用Webservice 引入wsdl 报错 document empty 直接引入wsdl 地址报错 document empty 解决办法:在浏览器里保存为xml文件,然后在开发环境 ...

  3. 新引入thinkphp报错“应用目录[./Application/]不可写,目录无法自动生成! 请手动生成项目目录~”

    新引入thinkphp报错“应用目录[./Application/]不可写,目录无法自动生成! 请手动生成项目目录~”, 其主要原因是文件夹的权限问题,手动将项目文件夹权限更改为可读可写就OK,具体操 ...

  4. php Yaf_Loader::import引入文件报错的解决方法

    php Yaf_Loader::import引入文件报错的解决方法 改下配置文件就行<pre>yaf.use_spl_autoload=1</pre> 也可以PHP动态修改 毕 ...

  5. electron-vue 引入OpenLayer 报错 Unexpected token export

    electron-vue 引入OpenLayer 报错 Unexpected token export 解决办法: 在 .electron-vue/webpack.renderer.config.js ...

  6. 【Vue.js】vue引入组件报错:该组件未注册?

    [Vue warn]: Unknown custom element: <QuestionnaireOption> - did you register the component cor ...

  7. angular 的杂碎报错小知识

    1:[ng:areq] Angular出现这种错误的原因,是由于没有在页面中使用模块引入controller导致的 所以 请确保你定义了这个controller后也引用了它. 2:Failed to ...

  8. vue 引入 fontawesome 报错 Could not find one or more icon(s) 解决

    在 vue 项目中引用 fontawesome , 按照官方说明如下步骤操作 1. 终端中执行 $ npm i --save @fortawesome/fontawesome-svg-core $ n ...

  9. vue2.0+按需引入element-ui报错

    项目使用vue脚手架自动生成的,vue版本为^2.5.16.项目中需要按需使用element-ui,根据element-ui的官方文档,一开始在babel.config.js文件中修改配置 modul ...

随机推荐

  1. Es kibana

    http://kibana.logstash.es/content/kibana/v4/setup/production.html

  2. DC DC降壓變換器ic 工作原理

    目前DC/DC轉化器大致可分為:升壓型dc dc變化器.降壓型dc dc變化器及可升壓又可降壓dc dc變換器.我們今天主要提一下降壓型dc dc變換器的原理: 見下圖降壓變換器原理圖如圖1所示, 當 ...

  3. 源代码管理工具TFS2013安装与使用

    最近公司新开发一个项目要用微软的TFS2013进行项目的源代码管理,以前只是用过SVN,从来没有用过TFS,所以在网上百度.谷歌了好一阵子来查看怎么安装和配置,还好花了一天时间总算是初步的搞定了,下面 ...

  4. 【转载】B树、B-树、B+树、B*树都是什么

    1. B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right): 2.所有结点存储一个关键字: 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树: 如 ...

  5. Java学习日记-2.1 运算符

    1. 赋值运算符 赋值运算符是有值的 int i; System.out.println(i = 5); //输出5 正因为赋值运算符有值,所以可以可以连等地赋值 int j,k,l,m,n; j = ...

  6. Java中的不可变类

    概念:不可变类的意思是创建该类的实例后,该实例的属性是不可改变的.java中的8个包装类和String类都是不可变类.所以不可变类并不是指该类是被final修饰的,而是指该类的属性是被final修饰的 ...

  7. Python之路【第一篇】:Python前世今生

    Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解 ...

  8. ios将一个项目完全导为另一个项目(tool)

    --前言:有时开始一个新项目,但新项目跟已做完的一个项目很类似,基本可以在原有项目上更改.这个时候,可以new一个新project,在将相应的代码文件copy到新的project,配置工程各参数,库等 ...

  9. IOS学习教程

    http://edu.51cto.com/course/course_id-566.html

  10. BaseAdapter的ArrayIndexOutOfBoundsException

    最近写一个listView中多个listItem布局时,convertView缓存及使用,类似微信的聊天界面的listView,报了一个异常: 11-25 15:51:49.076: E/InputE ...