AngularJS何时使用共享指令隔离指令?

时间:2018-11-02 16:55:40

标签: javascript angularjs angularjs-directive angularjs-components

有时我需要将多个复杂对象传递给指令。

我的问题是,按照您的观点,哪种工作方法更好,或者如果有的话,它可能是一种标准。

这样做:

<my-directive
 config="{
   ... 
 }"
></my-directive>

然后在指令中添加配置,如下所示:

scope: {
  config: "="
}

OR

<my-directive></my-directive>

,然后将数据放在这样的范围内:

// controller.js
$scope.config = {
  ...
};

// my-directive.js
scope: true,
link: function($scope, element, attrs) {
  console.log($scope.config); // the obj
}

还有一个子问题:如果我使用第一种方法-使用隔离范围,然后发送config(对象),是否有一种方法可以更实际地解析它?例如:

// my-directive.js 
$scope = Object.assign($scope, $scope.config);
delete $scope.config;
console.log($scope.some_key_that_was_in_config_obj); // some value

0 个答案:

没有答案