【发布时间】:2017-01-25 18:36:52
【问题描述】:
除非我在包含元素上也使用 ng-if,否则我有以下指令可以正常工作。我想要做的只是在范围上设置一个具有关联函数的动态属性。范围不包含属性(未定义)。
任何帮助都会很棒!
app.directive('stRefresh', function () {
return {
require: '^stTable',
link: function (scope, ele, attr, ctrl) {
if (attr.stRefresh) {
var name = attr.stRefresh;
scope[name] = scope[name] || {};
scope[name].refresh = function () {
return ctrl.search();
};
}
}
}
});
【问题讨论】:
-
你能解释一下发生了什么不正确的事情
-
范围不包含属性(未定义)
-
您为此使用 ng-if 的任何特殊原因,ng-show 总体上更快,并且可能会解决问题
-
是的,有一个特殊原因我不希望将元素添加到 DOM。
-
如果您的错误是“范围不包含属性(未定义)”,这意味着
name变量未定义。您是否尝试过使用调试器逐步完成此操作或添加一些日志记录?编辑:经过考虑,我怀疑由于我的回答中描述的问题,未定义的错误来自控制器代码。我说的对吗?
标签: angularjs angularjs-directive angular-directive