AngularJS使用总结

1、标签
ngApp:
是一种简单的、通用的方式启用Angularjs应用,一般我们放在 body 或 html 标签上面,这样我们就可以开始使用Angularjs了。
angular.module():创建、获取、注册angular中的模块。
angular.module(name, [requires], [configFn]);

name:字符串类型,代表模块的名称;

requires:字符串的数组,代表该模块依赖的其他模块列表,如果不依赖其他模块,用空数组即可;

configFn:用来对该模块进行一些配置。

// 传递参数不止一个,代表新建模块;空数组代表该模块不依赖其他模块
var createModule = angular.module(“myModule”, []);

// 只有一个参数(模块名),代表获取模块
// 如果模块不存在,angular框架会抛异常
var getModule = angular.module(“myModule”);

// true,都是同一个模块
alert(createModule == getModule);
controller:
在Angular中,控制器就像 JavaScript 中的构造函数一般,是用来增强 Angular作用域(scope) 的。

当一个控制器通过 ng-controller 指令被添加到DOM中时,ng 会调用该控制器的构造函数来生成一个控制器对象,这样,就创建了一个新的子级 作用域(scope)。在这个构造函数中,作用域(scope)会作为$scope参数注入其中,并允许用户代码访问它。

一般情况下,我们使用控制器做两件事:

初始化 scope scope 对象添加行为(方法)
从这个解释中可以看出,在angularJS中Controller是有作用域的,它的作用域就是它所附加的DOM标签域,其次Controller是为域对象 scopeDOMvarloginApp=angular.module(loginApp,[]);loginApp.controller(LoginCtrl,function( scope, http) {scope.UserInfo={
UserName:”admin”,
Password:”admin”
}
scope.Login=function() {http.post('/account/login', $scope.UserInfo).success(function (data,status) {
console.log(‘登录成功’);
}).error(function (data,status) {
console.log(‘登录失败’);
});

}  

});
Controller的创建的第一参数是Controller的名称,后面的functions是它个一个构造函数,因为这个congroller需要使用 scope, http,所以这个构造函数注入了两个angular的服务。
filter:在我们开发中经常需要在页面显示给用户的信息需要一定处理格式化,才能显示给用户。比如时间本地化,或者yyyy-MM-dd HH:mm:ss格式,数字精度格式化,本地化,人名格式化等等。
scopehtmlhtmljs: scope.searchCourse = function (searchTerm) {
if (scope.currentPage === 1) {  
                    doCoursesQuery(
scope, Courses);
} else {
$scope.currentPage = 1;
}
};

routeParams,when()/users/:userid,AngularJS routeParams.
例子:
when(‘/livecourses/:id/:operate’, {
templateUrl: ‘partials/livecourse/livecourses-create.html’,
controller: ‘LiveCoursesCreateOrEditCtrl’
这样在controller中引入 routeParams, routeParams.operate获得operate的值,然后通过 scope.operate= routeParams.operate,传递给HTML页面。

2、使用总结

  • 下拉列表搜索使用:
    代码:text: value.name:
    text是teacher属性,用于在selectTeacherOptions框内显示数据。

    • 前端:html
<div class="form-group">
                    <label class="control-label" for="livecourseSpeakerListInput">讲师</label>
                    <div class="controls">
                        <input type="hidden" required name="teachers" ng-model="livecourse.speakerList"
                               ui-select2="selectTeacherOptions" >
                    </div>
                </div>
 - js:
        $scope.selectTeacherOptions = {
            width: '100%',
            height: '35px',
            allowClear: false,
            openOnEnter: false,
            allowAddNewValues: false,
            maximumSelectionSize: 5,
            placeholder: '选择讲师...',
            multiple: true,
            initSelection: function (element, callback) {
                var results = [];
                $.each($scope.livecourse.speakerList, function (index, teacher) {
                    results.push({
                        id: teacher.id, realName: teacher.text
                    });
                });
                callback(results);
            },
            query: function (options) {
                var qp = {};
                if (options.term) {
                    qp.keyword = options.term;
                }
                qp.status = 1;
                var results = [];
                $scope.$apply(function () {
                    Teachers.query(qp, function (data) {
                        if (data.data.result) {
                            angular.forEach(data.data.result, function (
                                    value, key) {
                                results.push({
                                    id: value.id,
                                    text: value.name
                                });
                            });
                            options.callback({
                                more: false, context: '', results: results
                            });
                        }
                    });
                });
            }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值