如何在自定义指令中获取 ng-model 值 [英] How to get ng-model value inside custom directive

查看:39
本文介绍了如何在自定义指令中获取 ng-model 值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经在这里搜索了 SO 并尝试了我找到的答案,但我似乎无法从我的自定义指令的 ngModel 中获取模型值.

这是指令

/**用法:<markdown ng:model="someModel.content"></markdown>*/呼吸室.指令('降价',函数(){var nextId = 0;返回 {要求:'ngModel',替换:真的,限制:'E',模板:'<div class="pagedown-bootstrap-editor"></div>',链接:功能(范围,元素,属性,ngModel){var editorUniqueId = nextId++;element.html($('

' +'<div class="wmd-panel">'+'<div id="wmd-button-bar-' + editorUniqueId + '"></div>'+'<textarea class="wmd-input" id="wmd-input-' + editorUniqueId + '">{{modelValue()}}' +'</textarea>'+'</div>'+'<div id="wmd-preview-' + editorUniqueId + '" class="wmd-panel wmd-preview"></div>'+'</div>'));var 转换器 = new Markdown.Converter();var 帮助 = 函数 () {//2DO: 添加漂亮的模态对话框alert("需要帮助吗?");};var editor = new Markdown.Editor(converter, "-" + editorUniqueId, {处理程序:帮助});editor.run();//本地 ->父范围更改(模型)jQuery("#wmd-input-" + editorUniqueId).on('change', function () {var rawContent = $(this).val();ngModel.$setViewValue(rawContent);范围.$应用();});//父作用域 ->局部变化scope.modelValue = 函数 () {console.log('modelvalue - ', ngModel.$viewValue);返回 ngModel.$viewValue;};}};});

这里是 HTML

<markdown ng-class="{error: (moduleForm.Description.$dirty && moduleForm.Description.$invalid) || (moduleForm.Description.$invalid && 提交)}"id="说明"名称=说明"占位符=说明"ng-model="module.description"需要</markdown>

这里的问题是输出很简单

{{modelValue()}}

<小时>

我也尝试创建一个私有方法

function getModelValue() {console.log(ngModel.$viewValue);返回 ngModel.$viewValue;}

然后将一个模板行改为

'