【发布时间】:2015-10-14 13:23:23
【问题描述】:
我创建了一个自定义指令,它有两个值。第一个是配置对象,第二个是数据对象。我在我的指令中修改了这个配置和数据对象,它反映在父范围中。当我必须多次使用指令时,这会导致我出错。
我关注了https://umur.io/angularjs-directives-using-isolated-scope-with-attributes/,我正在使用隔离范围。
我想要一种对孤立范围内的对象进行数据绑定的方式。无论我在指令函数中进行什么更改,它都不应反映在父范围中。
以下是指令的范围。
scope: {
config: "&config",
dataObj: "&dataObj"
}
这是我如何在指令的链接函数中访问它
var config = scope.config();
var dataObj= scope.dataObj();
我假设这里发生了引用传递。
我正在添加 JSbin。检查控制台对象的值是否在更改并反映在父范围内。
【问题讨论】:
-
那么具体是什么问题呢?请显示所有相关代码并创建一个复制问题的plunker 演示
-
@charlietfl 我已经添加了演示。希望你能理解我的问题
-
你必须使用
=双向绑定将对象传递给指令。 -
@ThinkingMedia 我正在将对象传递给指令..然后我正在修改该对象..我不想反映父范围中的对象更改...两种方式数据绑定将反映对父范围的更改.这是我不想要的。我想要一种方式的对象数据绑定..
-
var x = angular.copy($scope.config);
标签: javascript angularjs data-binding angularjs-directive