我正试图围绕angularjs指令。我有一个父指令,在我的页面上有4个实例。其中一个父指令包含CHILD指令的实例。
子指令的链接功能似乎运行了4次,因为我在控制台中看到以下内容4次:
child linking function
知道为什么/如何修复?谢谢!
PARENT:
Module.directive 'collapseWidget', () ->
directive =
restrict: 'A'
transclude: true
template: viewCollapseWidget
scope:
title: '@title'
widgetThemis: '@widgetThemis'
color: '@color'
model: '='
#replace: true
compile: (element, attrs, transclusionFunc) ->
(scope, iterStartElement, attrs) ->
#if scope.buttons
#console.log scope.buttons
scope.collapsed = false
scope.toggle = () ->
scope.collapsed = !scope.collapsed
origElem = transclusionFunc scope
content = origElem.text()
scope.orig = content
scope.obj = content
CHILD:
Module.directive "myTable", ->
directive =
restrict: 'A'
scope: 'isolate'
link: (scope, element, attrs) ->
console.log 'child linking function'
return
答案 0 :(得分:0)
您是否收到任何控制台错误?
我问的原因是在你的孩子'myTable'指令中你将范围定义为String而不是空Object。可能因为此而未隔离范围,而是使用父范围。
答案 1 :(得分:0)
我知道我的体重很晚,但这个问题的答案很简单。 link
函数将被调用多次,因为您拥有该指令的实例。