美文网首页
angular基础

angular基础

作者: 凌航 | 来源:发表于2021-01-19 15:01 被阅读0次

typescript部分

  • export关键字作用:可以让定义的类型在全局范围内能被访问到。

  • this关键字的指向:
    1,一般情况下,this指向的是本对象,即用“{}”括起来的内容(函数的“{}”除外)。
    2,对于函数嵌套情况,外层函数就指向本对象,而内层函数中的this可能指向其调用者,甚至不确定调用者,
    因此若内层函数想使用外层函数中的变量,直接使用,无需加this,若要使用对象中的变量,则需要使用箭头函数“()=>”。

  • any可用于声明某个不确定数据类型的变量。

  • 加“?”的变量在初始化的不用赋初值

interface Shape {
    name: any;
    width: number;
    height: number;
    color?: string;
}
 
function area(shape : Shape) {
    var area = shape.width * shape.height;
    return "I'm " + shape.name + " with area " + area + " cm squared";
}
 
console.log( area( {name: "rectangle", width: 30, height: 15} ) );
console.log( area( {name: "square", width: 30, height: 30, color: "blue"} ) );
  • interface和class的区别(补充):
    1,因为typescript是JavaScript的超级,为了保证兼容,interface就完全变成了js,没有类的痕迹,而class编译后还会保留有class的标记
    2,通常interface只声明变量,不包括方法(这一点目前不是很确定)

angular部分

  • 对于angular三大核心的理解:
    1, 组件(component)。 angular的页面全由各部分组件(component)构成,组件可能包括.scss,.html,.ts文件。即组件并不是某一种却定的文件类型,而是
    实现某一个页面的各种类型的文件集合。组件即为页面服务。

    2,模块(module)。菜鸟教程看的有点迷,等待老师详讲。

    3,路由(router)。主要用于前端确定浏览器输入的地址由哪个组件(component)处理。

angular框架流程:

  • 浏览器地址 -> 路由(router)-> 组件(component)-> 服务(service)
  • 其中组件中的.html文件我们通常称之为模板,用于确定要显示的内容;对于上述流程中,还会有一个derictive指令,用于控制模板内容的显示方式

浏览器显示内容过程:

  • index.html -> <app-root></app-root>进行页面内容替换 -> 默认进入app.component.html页面-> <router-outlet></router-outlet>路由插槽 -> 插入子页面内容。

  • 该过程中自始至终都只是替换了index.html文件中的内容。

前端页面获取并显示数据具体工作流程:

  • 定义model类->写对应的service文件->组件中的component.ts文件->component.html文件

  • model类:与后端的model相对应,或与数据库的表相对应,因为只包含成员变量,因此通常用interface定义,如下:

export interface Test {
  name: string;
  body: string;
}
  • service:与后端的controller相对应,负责向后端请求数据,以及向组件传递后端返回的数据。

  • component.ts:获取service传回来的数据,并对它进行简单的处理,然后赋值给自己的成员变量,便于component.html模板文件获取要展示的内容。

  • component.html:组件中的该部分内容用于页面展示,可用“{{}}”获取component.ts传过来的对象。

相关文章

网友评论

      本文标题:angular基础

      本文链接:https://www.haomeiwen.com/subject/epnqzktx.html