每天抽出一些时间学习 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. POJ1321 棋盘问题(dfs)

    题目链接. 分析: 用 dfs 一行一行的搜索,col记录当前列是否已经放置. AC代码如下: #include <iostream> #include <cstdio> #i ...

  2. BZOJ1629: [Usaco2007 Demo]Cow Acrobats

    1629: [Usaco2007 Demo]Cow Acrobats Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 601  Solved: 305[Su ...

  3. 服务器端javascript——Rhino和Node

    Node: Node是v8 javasript解析器的一个特别版本,侧重于异步I/O,网络和HTTP 入门见:http://www.cnblogs.com/wishyouhappy/p/3647037 ...

  4. [TCO 2012 Round 3A Level3] CowsMooing (数论,中国剩余定理,同余方程)

    题目:http://community.topcoder.com/stat?c=problem_statement&pm=12083 这道题还是挺耐想的(至少对我来说是这样).开始时我只会60 ...

  5. 20个Linux服务器性能调优技巧

    Linux是一种开源操作系统,它支持各种硬件平台,Linux服务器全球知名,它和Windows之间最主要的差异在于,Linux服务器默认情况下一般不提供GUI(图形用户界面),而是命令行界面,它的主要 ...

  6. Something broke! (Error 500)——reviewboard

    Something broke! (Error 500) 1.什么时候会出现? 不清楚,出现过几次 2.解决手段及方法: 更改/www_rb/conf/settings_local.py文件,将DEB ...

  7. WPF - 这是一堆代码片段的集合

    1. Image的Source设定,引用的图片文件在其他的dll中.图片的Build action : Resource 如果是直接写: Source="/MyProject.Resourc ...

  8. Guice学习(一)

    Guice学习(一) Guice是Google开发的一个轻量级依赖注入框架(IOC).Guice非常小而且快,功能类似与Spring,但效率上网上文档显示是它的100倍,而且还提供对Servlet,A ...

  9. shell脚本编写汇集

    一.替换文本: ##1 sed -i 's/disabled=true/disabled=false/' /etc/fdfs/storage.conf ##2 sed -i 's/base_path= ...

  10. C primer plus 读书笔记第四章

    本章的标题是字符串的格式化输入/输出,重点介绍输入和输出. 本章的第一段示例代码和上一张示例代码很相近,代码就不贴了,新出现的特性是使用了一个数组来存放字符串,C预处理命令和strlen()函数. 下 ...