angularJs 初识

1.angularInit 初始化
页面中是否有ng-app指令,如果有的话,则启动;若果没有的话,则需要手动启动。
自动启动:
  if (appElement) {//如果appelement存在,则执行。
    bootstrap(appElement, module ? [module] : []);
  }
2.provider与injector
1.依赖注入
ng中最简单的依赖是内联注入,它还有2种,分别为推断式注入和标注式注入。
直接使用$injector。 *一般很少使用。
 
推断式注入:
var myModule = angualr.module("myModule", []);
var ctrl = function($scope) {
 $scope.name = "2222";
}
myModule.controller("ctrl", ctrl); 
 
标注式注入:
var myModule = angualr.module("myModule", []);
var ctrl = function(name) {
 name = "2222";
}
ctrl.$inject = [‘$scope‘];
 
注射器Injector:
var myModule = angualr.module("myModule", []);
 
myModule.factory(‘game‘, function() {
    return {
        ganmeName: ‘11111‘
}
}
myModule.controller(‘Myctrl‘, [‘$scope‘, ‘$injector‘,
function($scope, $injector) {
    $injector.invoke(function(game) {
    console.log(game.gameName);    
]);
}
});
 
Provider模式与ng实现:
Provider模式是策略模式和工厂模式的综合体;
核心目的是为了让接口和实现分离;
在ng中,所有provider都可以用来进行注入:
provider/factory/service/constant/value
一下类型的函数可以接受注入:
controller/directive/filter/service/factory德国
在ng中的“依赖注入”是欧诺个过provider和ijector这2个机制联合实现;
 
var myModule = angular.module("myModule", []);
myModule.provider("HelloAngular", function() {
    return {
        $get: function() {
        var name="sss";
        function getName() {
    return name;
}
return {
    getName: getName
}
}
    }
    });
myModule.controller(‘MyCtrl‘, [‘$scope‘, ‘HelloAngualr‘,
function($scope, HelloAngualr) {
    $scope.gameName = helloAngualr.getName();
}])
 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。