我编写了以下 Angular 指令:
angular.module('solarquote.directives', []).directive('editfield', function() {
return {
restrict: 'A',
transclude: true,
template: '<span ng-hide="editorEnabled" ng-transclude></span>' + // viewable field
'<span ng-show="editorEnabled"><input class="input-medium" ng-model="editableField"></span>', // editable field
link: function(scope, elm, attrs, ctrl) {
scope.editorEnabled = false;
scope.editableField = elm.children[0].children[0].innerText;
}
};
})
在 html 中,在 ng-repeat 中:
<span editfield>{{ item.fields.name }}</span>
我想用 ng-transclude 中的相同内容预填充指令模板中的输入字段。遍历 DOM 并获取文本会产生:{{ item.fields.name }} 而不是呈现的数据:“Bob”(或任何名称)。
访问嵌入数据的最佳方式是什么?
谢谢