Angularjs MVC 以及 $scope 作用域 Angularjs 模块 的 run 方法 以及依赖注入中代码压缩问题

Angularjs MVC 以及 $scope 作用域 Angularjs 模块
run 方法 以及依赖注入中代码压缩问题

1. Angularjs MVC
Model:数据模型层
View:视图层,负责展示
Controller:业务逻辑和控制逻辑
优点: 代码模块化 代码逻辑比较清晰、可移值性高,后期维护方便、代码复用,
代码规模越来越大的时候,切分职责是大势所趋
缺点:运行效率稍微低一些
2. Angularjs $scope 作用域
1. $scope 多控制器单独作用域
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript" src="angular.min.js"></script>
</head>
<body>
<div ng-app="myApp">
<div ng-controller="firstController">
{{name}}
</div>
<div ng-controller="secondController">
{{name}}
</div>
</div>
<script type="text/javascript">
var app = angular.module("myApp", []);
app.controller(‘firstController‘,function($scope){
$scope.name=‘张三‘;
});
app.controller(‘secondController‘,function($scope){
$scope.name=‘李四‘;
})
</script>
</body>
</html>
2. $rootScope 服务
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript" src="../angular.min.js"></script>
</head>
<body>
<div ng-app="myApp">
<div ng-controller="firstController">
姓名: {{name}} <br>
年龄: {{age}}
</div>
<div ng-controller="secondController">
姓名: {{name}}
年龄: {{age}}
</div>
</div>
<script type="text/javascript">
var app = angular.module("myApp", []);
app.controller(‘firstController‘,function($scope,$rootScope){
$scope.name=‘张三‘;
$rootScope.age=‘30‘;
});
app.controller(‘secondController‘,function($scope){
$scope.name=‘李四‘;
})
</script>
</body>
</html>
3. 控制器继承
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript" src="../angular.min.js"></script>
</head>
<body>
<div ng-app="myApp">
<div ng-controller="firstController">
{{name}}
{{age}}
{{sex}}
<div ng-controller="secondController">
{{name}}
{{age}}
{{sex}}
</div>
</div>
</div>
<script type="text/javascript">
var app = angular.module("myApp", []);
app.controller(‘firstController‘,function($scope){
$scope.name=‘张三‘;
$scope.age=‘40‘;
});
app.controller(‘secondController‘,function($scope){
$scope.name=‘李四‘;
$scope.sex=‘男‘;
})
</script>
</body>
</html>
3. 依赖注入中代码压缩的问题
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript" src="../angular.min.js"></script>
</head>
<body>
<div ng-app="myApp">
<div ng-controller="firstController">
{{name}}
{{age}}
{{sex}}
<div ng-controller="secondController">
{{name}}
{{age}}
{{sex}}
</div>
</div>
</div>
<script type="text/javascript">
var app = angular.module("myApp", []);
app.controller(‘firstController‘,[‘$scope‘,function($scope){
$scope.name=‘张三‘;
$scope.age=‘40‘;
}]);
app.controller(‘secondController‘,[‘$scope‘,function($scope){
$scope.name=‘李四‘;
$scope.sex=‘男‘;
}])
</script>
</body>
</html>
4. Angularjs 模块的 run 方法
run 方法初始化全局的数据 ,只对全局作用域起作用 如$rootScope
<script type="text/javascript">
var m1 = angular.module(‘myApp‘,[]);
m1.run([‘$rootScope‘,function($rootScope){
$rootScope.name = ‘hello‘;
}]);
console.log( m1 );
</script>

时间: 2024-10-13 12:37:07

Angularjs MVC 以及 $scope 作用域 Angularjs 模块 的 run 方法 以及依赖注入中代码压缩问题的相关文章

Angular.js 学习二---$scope和$rootScope,Angular模块的run方法,依赖注入中代码压缩

一.$scope和$rootScope的区别 一句话总结: $rootScope针对全局的作用域生效 $scope只针对当前的controller作用域生效 二.AngularJS模块的run方法 run方法初始化全局的数据,只对全局作用域起作用 如$rootScope <script type="text/javascript"> var m1 = angular.module('myApp', []); m1.run(['$rootScope', function ($

angularJS MVC及$scope作用域

原文地址:https://www.cnblogs.com/hwgok/p/10903344.html

一招制敌 - 玩转 AngularJS 指令的 Scope (作用域),讲得特别好

学习了AngularJS挺长时间,最近再次回首看看指令这部分的时候,觉得比自己刚开始学习的时候理解的更加深入了,尤其是指令的作用域这部分. 步入正题: 每当一个指令被创建的时候,都会有这样一个选择,是继承自己的父作用域(一般是外部的Controller提供的作用域或者根作用域($rootScope)),还是创建一个新的自己的作用域,当然AngularJS为我们指令的scope参数提供了三种选择,分别是:false,true,{}:默认情况下是false. scope = false 首先我们来看

angularJs指令的Scope(作用域)

每当一个指令被创建的时候,都会有这样一个选择,是继承自己的父作用域(一般是外部的Controller提供的作用域或者根作用域($rootScope)),还是创建一个新的自己的作用域,当然AngularJS为我们指令的scope参数提供了三种选择,分别是:false,true,{}:默认情况下是false. 1.scope = false JS 代码: html 代码: result: 修改文本框的内容,两个名字都会变,实际上修改的是同一个$scope的name属性. 2. scope=true

一招制敌 - 玩转 AngularJS 指令的 Scope (作用域)【转】

学习了AngularJS好长时间,最近再次回首看看指令这部分的时候,觉得比自己刚开始学习的时候理解的更加深入了,尤其是指令的作用域这部分. 当初看的是<AngularJS权威指南>这本书,但是感觉这本书关于这方面讲的不是很细致,另外吐槽一下,这本书中文版印刷的质量不是很好,很多地方都有错误:不过讲的还是可以的,是一本学习AngularJS的好书. 下面我们就来详细分析一下指令的作用域.在这之前希望你对AngularJS的Directive有一定的了解,不然你对下面部分的理解可能会有一点难度.

MVC Castle依赖注入实现代码

1.MVc 实现依赖注入 public class WindsorControllerFactory : DefaultControllerFactory { private readonly IKernel _kernel; public WindsorControllerFactory(IKernel kernel) { _kernel = kernel; } protected override IController GetControllerInstance(System.Web.Ro

AngularJS 指令的 Scope (作用域)

指令被创建AngularJS为我们指令的scope参数提供了三种选择,分别是:false,true,{}:默认情况下是false. 1.scope = false,在这种情况下,在指令模板中可以直接使用父作用域中的变量,创建的指令和父作用域(其实是同一个作用域)共享同一个model模型,所以在指令中修改模型数据,它会反映到父作用域的模型中. 2.scope = true,当把scope属性设置为true时,这表明我们创建的指令要创建一个新的作用域,这个作用域继承自我们的父作用域,它和父作用域不是

AngularJS开发指南10:AngularJS依赖注入的详解

依赖注入是一种软件设计模式,用来处理代码的依赖关系. 一般来说有三种方法让函数获得它需要的依赖: 它的依赖是能被创建的,一般用new操作符就行. 能够通过全局变量查找依赖. 依赖能在需要时被导入. 前两种方式都不是很好,因为它们需要对依赖硬编码,使得修改依赖的时候变得困难.特别是在测试的时候不好办,因为对某个部分进行孤立的测试常常需要模拟它的依赖. 第三种方式是最好的,因为它不必在组件中去主动寻找和获取依赖,而是由外界将依赖传入. 举个例子: function SomeClass(greeter

依赖注入及AOP简述(九)——单例和无状态Scope .

三.依赖注入对象的Scope及其生命周期 在前面的章节我们讲到,依赖注入容器之所以能够区别于以往的ServiceLocator等容器,是在于其不但能够自动构建多层次的.完整的依赖关系图,并且可以管理依赖对象的Scope和对其进行行为增强.有关行为增强的话题我们会在下一章介绍,这里我们先来看看有关依赖对象的Scope及其生命周期管理的话题. 1.     依赖注入对象的Scope Scope,即作用域,是指面向对象开发中所设计的某一类对象的生存期间.我们先从普通Java程序开发中最常用的单例和无状