如何通过传递值/配置来初始化angularjs模块

时间:2014-08-06 10:59:32

标签: angularjs angularjs-directive

我是Angular的新手,我来自jQuery背景。

我的问题是如何通过传递值/配置来初始化angularjs模块。这是场景。

  1. 我们将拥有核心模块(根据需要加载/集成其他模块)
  2. 我们计划为每个主要功能创建一个模块
  3. 我们需要根据需要加载模块
  4. 到目前为止我唯一可以理解的方法是,

    1. 创建自定义属性/标记指令
    2. 创建自定义控制器以初始化模块
    3. 在$ scope中创建一个新变量并指定配置选项
    4. 通过这种方法,我可以使用指令中的链接功能访问控制器范围中指定的选项。代码如下所示,

      // Main angular module
      angular.module('myApp').directive('myDirective', function() {
          return {
              restrict: 'EA',
              scope: {
                  configOptions: '='
              },
              link: function(scope, element, attribute) {
                  // configurations will be available in scope.configOptions
                  console.log(scope.configOptions);
              }
      
          };
      
      });
      
      // Module & Controller to initialize the main module.
      
      angular.module('consumerApp', ['myApp']).controller('HomeCtrl', ['$scope', function($scope) {
      
          $scope.configOptions= {
              path: "xxxxx",
              height: xxx,
              width: xxx
          };
      
      }]);
      
      // HTML code
      <div ng-controller='HomeCtrl'>  
          <div myDirective></div>
      </div>
      

      这是有效/最佳方法还是我们有更好的解决方案来实现同样的目标。另外需要注意的是,有可能像我们在jQuery中那样初始化应用程序。

0 个答案:

没有答案