有时我需要将多个复杂对象传递给指令。
我的问题是,按照您的观点,哪种工作方法更好,或者如果有的话,它可能是一种标准。
这样做:
<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