您的位置:

angularjs代码笔记01,angularjs简介

angularjs代码笔记01,angularjs简介

更新:

本文目录一览:

请问谁有混淆Angularjs代码的经验

由于AngularJS是通过控制器构造函数的参数名字来推断依赖服务名称的。所以如果你要压缩控制器的JS代码,它所有的参数也同时会被压缩,这时候依赖注入系统就不能正确的识别出服务了。

假如我们的Controller的名称为:BookCtrl,压缩前的代码为:

var BookCtrl = function($scope, $http) { /* constructor body */ };

为了克服压缩引起的问题,只要在控制器函数里面给$inject属性赋值一个依赖服务标识符的数组:

BookCtrl.$inject = ['$scope', '$http'];

另一种方法也可以用来指定依赖列表并且避免压缩问题——使用Javascript数组方式构造控制器:把要注入的服务放到一个字符串数组(代表依赖的名字)里,数组最后一个元素是控制器的方法函数:

var BookCtrl = ['$scope', '$http', function($scope, $http) { /* constructor body */ }];

上面提到的两种方法都能和AngularJS可注入的任何函数完美协作,要选哪一种方式完全取决于你们项目的编程风格,建议使用数组方式

如何使用angularjs处理动态菜单

angularjs处理动态菜单的实现方法:

1、核心angularjs代码:

var testImg=angular.module("appTest",["ms.leafMenu"])

.controller('testCtr',['$scope',function($scope){

$scope.data=[{"id":"1","pid":"0","name":"第一行","children":[{"id":"3","pid":"1","name":"第一行1.1"},{"id":"4","pid":"1","name":"第一行1.2"}]},{"id":"2","pid":"0","name":"第二行","children":[{"id":"5","pid":"2","name":"第二行2.1"}]}];

}]);

angular.module("ms.leafMenu",[])

.directive('msLeafMenu',['$compile',function($compile){

return {

restrict:'EA',

transclude: true,

replace: false,

//template:"li/li",

scope:{

data:'=?',

id:'@?',

pid:'@?',

pvalue:'@?',

showname:'@?',

isstandard:'@?'

},

link:function(scope,element,attrs,leafController){

创建节点数据的方法:

function createTreeData(id,pid,pvalue){

var newData=[];

angular.forEach(scope.data,function(item,index){

if(item[pid]==pvalue){

var children=createTreeData(id,pid,item[id]);

if(children children.length0){

item.children=children;

}

newData.push(item);

}

});

return newData;

}

if(!scope.isstandard){

scope.data=createTreeData(scope.id,scope.pid,scope.pvalue);

}

//向节点增加数据

element.append($compile('ul class="ms_leaf_menu_group"li ng-repeat="row in data" ng-class="{ms_parent_item:(row.children row.children.length0),ms_child_item:(!row.children || row.children.length=0)}"div ng-click="toogle($index)"a {{row[showname]}}/aspan class="glyphicon" ng-class="{\'glyphicon-chevron-right\':(row.children row.children.length0 !row.isopen),\'glyphicon-chevron-down\':(row.children row.children.length0  row.isopen)}"  aria-hidden="true"/span/divdiv ng-show="row.isopen"ms-leaf-menu data="row.children" id="id" pid="pid" showname="{{showname}}" pvalue="{{row[id]}}"/ms-leaf-menu/div/li/ul')(scope));

//此处是关键,调用入口处,需要找到index

scope.toogle=function(index){

scope.data[index]["isopen"]=!scope.data[index]["isopen"];

}

}

}

}]);

/script

2、html代码:

body ng-app="appTest"

div ng-controller="testCtr" style=" width:200px; margin-left:auto; margin-right:auto;"

    ms-leaf-menu data="data" id="id" pid="pid" showname="name" pvalue="0"/ms-leaf-menu

   /div

/body

3、效果图

如何看angularjs源代码

查看angularjs源代码方法如下

大部分JS框架的源代码都可以在Github中找到,angular.js也可以在里面查找,要想在Github中找到相应的源代码,步骤如下:

在浏览器中访问github.com

在右上角的搜索框中输入想要查找的源代码(输入angular.js),按回车搜索

在查询结果中,一般来说第一个结果就是对应的源代码(angular.js)

点进去后,可以在线查看,亦可以点击绿色下拉按钮“Clone or download”,用git复制地址同步源代码到本地,或者打包成zip压缩包下载都本地。

下回来的angularJs+bootstrap模板怎么用?

用angular渲染bootstrap中的tab切换的

思路:先加载scope中的tabs,然后利用后台bootstrap渲染即可。

1、angularjs代码:

angular.module('TabsApp', [])

.controller('TabsCtrl', ['$scope', function ($scope) {

$scope.tabs = [{

title: 'One',

url: 'one.tpl.html'

}, {

title: 'Two',

url: 'two.tpl.html'

}, {

title: 'Three',

url: 'three.tpl.html'

}];

$scope.currentTab = 'one.tpl.html';

$scope.onClickTab = function (tab) {

$scope.currentTab = tab.url;

}

$scope.isActiveTab = function(tabUrl) {

return tabUrl == $scope.currentTab;

}

}]);

2、渲染效果:

angularjs代码笔记01,angularjs简介

本文目录一览: 1、请问谁有混淆Angularjs代码的经验 2、如何使用angularjs处理动态菜单 3、如何看angularjs源代码 4、下回来的angularJs+bootstrap模板怎么

2023-12-08
htmljs编程笔记(html代码笔记)

本文目录一览: 1、html代码和JS代码有什么区别 2、如何在html中调用js函数 3、JavaScript学习笔记之数组基本操作示例 4、HTML5初学者笔记 5、《web前端笔记7》js字符—

2023-12-08
javascript简要笔记,JavaScript读书笔记

2022-11-17
angularjs评星代码(不是angularJS关注的)

本文目录一览: 1、保存 按钮状态变换 2、AngularJS 和 Angelababy 有什么区别与联系 3、angularjs如何将时间戳转换成格式化时间??求代码啊 4、2021年的前端框架选择

2023-12-08
angularjs代码量少多少,angular JS

本文目录一览: 1、angularjs代码量少多少 2、angularJs和jQuery的区别是什么 3、如何看angularjs源代码 angularjs代码量少多少 AngularJS是googl

2023-12-08
java笔记,大学java笔记

2022-11-28
angularjs的callback(AngularJS表达

本文目录一览: 1、angularjs使用jsonp跨域报错success_jsonpCallback is not defined 2、angularjs的¥q的用法 3、如何运行angularjs

2023-12-08
印象笔记记录java学习(Java成长笔记)

2022-11-12
java笔记,尚硅谷java笔记

2022-12-01
java学习笔记(java初学笔记)

2022-11-14
js高级程序设计笔记14(js高级程序设计笔记14页)

本文目录一览: 1、JavaScript高级程序设计 该怎么看 2、JavaScript学习笔记之数组基本操作示例 3、JS中有关sort以及return的问题 JavaScript高级程序设计 该怎

2023-12-08
重学java笔记,java笔记总结

2022-11-23
java客户端学习笔记(java开发笔记)

2022-11-14
发篇java复习笔记(java课程笔记)

2022-11-09
java包笔记,Java语言包

2022-11-18
javascript一句话笔记,javascript基本语句

2022-11-16
java基础第一天学习笔记(java课程笔记)

2022-11-09
java基础知识学习笔记一,Java基础笔记

2022-11-21
vuejs源码学习笔记一(看懂vue源码)

本文目录一览: 1、深入浅出Vue.js--变化侦测 2、Vue学习系列一 —— MVVM响应式系统的基本实现原理 3、.vue文件怎么写js代码 4、认识Vue.js+Vue.js的优缺点+和与其他

2023-12-08
python学习之笔记(python的笔记)

2022-11-10