发表于: 2016-12-23 00:39:48

3 1483


今天完成的事:

    1. 完成task6,刷了一遍菜鸟教程,对Angular整体有一个大概的了解,学习ui-router的嵌套用法.

明天计划的事情:

    2. 争取完成task6.继续学习AngularJS.

遇到的问题:

    1. controller使用的注意要点.

 2.{{}}表达式使用注意要点

         1.类似于 JavaScript 表达式,AngularJS 表达式可以包含字母,操作符,变量。
         2.与 JavaScript 表达式不同,AngularJS 表达式可以写在 HTML 中。
         3.与 JavaScript 表达式不同,AngularJS 表达式不支持条件判断,循环及异常。
         4.与 JavaScript 表达式不同,AngularJS 表达式支持过滤器。

   3. 指令

     AngularJS 指令是扩展的 HTML 属性,带有前缀 ng-
    ng-model 指令把元素值(比如输入域的值)绑定到应用程序,

    {{ firstName }} 是通过 ng-model="firstName" 进行同步。

    {{ firstName }}的值一般是通过controller来赋予的,这样就实现了双向绑定.

  4. 自定义指令directive

var app = angular.module("myApp", []);
app.directive("runoobDirective"function() {
    return {
        restrict : "A",//具体使用方法
        template : "<h1>自定义指令!</h1>"//数据模型
    };
});
restrict 值可以是以下几种:
  • E 作为元素名使用
  • A 作为属性使用
  • C 作为类名使用
  • M 作为注释使用

5.$scope不太理解,只知道他决定了AngularJS的作用域,整个AngularJS也是一个类似于dom的树形结构,$rootscope就是根节点.

6.AngularJS路由功能主要是 $routeProvider服务 与 ng-view 实现,AngularJS自带的ng-route路由不能实现在同一个页面内实现多个视图的切换嵌套,所以要借用

UI-ROUTER来实现嵌套分层.

routerApp.config(function($stateProvider, $urlRouterProvider) {

    $urlRouterProvider.otherwise('/index');

    $stateProvider

        //http://localhost:90/js/task6/app/#/main

        .state('index', {

            url: '/index',

            views: {

                '': {

                //page1.htm这个页面要给view名一个名字ui-view="main" 

                    templateUrl: 'tpls/page1.html'

                },

                'main@index': {

                    templateUrl: 'tpls/page4.html'

                }

            }

        })

        //http://localhost:90/js/task6/app/#/page2/page3 调用的方法有点不一样

        .state('page2', {

            url: '/page2',

            templateUrl: 'tpls/page2.html'

        })

        .state('page2.page3', {

            url: '/page3',

            templateUrl: 'tpls/page3.html'

        });

});

   

收获:

  1.  AngularJS控制器,双向绑定,指令和路由的用法



返回列表 返回列表
评论

    分享到