【发布时间】:2013-06-22 14:00:52
【问题描述】:
所以我有以下简化的 plunker 来显示我在使用我的指令时遇到的问题:
http://plnkr.co/edit/aXW7YlpensjcYsLTGwmo?p=preview
这有一个指令,它使用 compile 属性并返回一个带有 pre/post 函数的对象。我遇到的问题是,当我在指令上使用 templateUrl 属性时,我对 pre 函数中的范围所做的任何更改都不会反映在 post 函数传入的范围中。
plunker 有控制台日志,因此如果您打开控制台,您会注意到记录了一个对象和未定义的对象,即在 compile 属性中返回对象的 pre 和 post 函数中记录 scope.options。如果你打开 app.js 并注释掉 templateUrl 定义,你会得到同一个对象的 2 个日志,它不再在帖子中未定义。这在使用模板属性时也有效。
只有当指令定义了 templateUrl 属性时,我在编译的返回对象前函数中所做的更改是否有任何原因不会反映在后函数范围中?
【问题讨论】:
标签: javascript html angularjs angularjs-directive angularjs-scope