我正在尝试制作一个自定义 ng-directive,$scope.object.variable
它通过作为 $attribute 传递给它的值获取 - “object.variable”(就像 ng-bind 一样)
<my-directive shows="object.variable">
我无法通过查看它的源代码来理解 ng-bind 是如何做到的,但这正是我想要的。
(它使用.ngBind
?对我不起作用,给我未定义)这是如何工作的?
我正在尝试制作一个自定义 ng-directive,$scope.object.variable
它通过作为 $attribute 传递给它的值获取 - “object.variable”(就像 ng-bind 一样)
<my-directive shows="object.variable">
我无法通过查看它的源代码来理解 ng-bind 是如何做到的,但这正是我想要的。
(它使用.ngBind
?对我不起作用,给我未定义)这是如何工作的?
根据源 ngBind 的工作原理是根据 ng-bind 属性的值设置 $watch 。
scope.$watch(attr.ngBind, function ngBindWatchAction(value) {
// We are purposefully using == here rather than === because we want to
// catch when value is "null or undefined"
// jshint -W041
element.text(value == undefined ? '' : value);
});
当该值未定义时(如果绑定表达式从未初始化过),那么它将用空文本替换元素的内容。