angularjs - 将 Ng 模型值传递给指令
问题描述
我已经查看了以前的答案,但我不确定它们是否是我需要的答案。
我有一个指令,我们称之为“selectValue”。一个值可以有一个默认值,我们称之为“$scope.default”。
该指令在一个地方看起来像这样:
<select-value ng-model="data.input" controlId="inputSelector" />
但它会在另一个中看起来像这样:
<select-value ng-model="myValue" controlId="inputSelector" />
我没有使 ng-model 输入相同的选项;它们在不同的地方使用,这是一个遗留代码库。
这是指令的定义:
.directive('selectValue', ['$timeout', function($timeout) {
const directive = {
restrict: 'E',
scope: {
controlId: '@',
model: '=?'
},
controller: 'selectValueCtrl',
template: '<input id="{{controlId}}" name="{{controlId}}" placeholder="Enter Value" type="text" ng-model="model" />'
};
return directive;
}
问题:我该怎么做才能在 的“模型”属性中输入不同的输入以<select-value>
使其访问不同的范围变量?
编辑:引用的“重复”问题是指为 ng-click 设置一个值,而不是在表单控件中引用 ng-model。
解决方案
据我所知,您似乎正在尝试使用预设值传递默认值。您面临的问题是您的选择值元素正在使用 ng-model 指令来尝试传递数据,但是您在指令中的绑定是“模型”。
为了解决这个问题,只需将“ ng-model ”更改为“ model ”,您的绑定就可以工作了。
最后,您的元素应如下所示:
<select-value model="myValue" controlId="inputSelector" />
相对于:
<select-value ng-model="myValue" controlId="inputSelector" />
推荐阅读
- docker - 2021-02-17T05:22:18.902Z - 错误:[Channel.js]:错误:2 UNKNOWN:访问被拒绝:频道 [mychannel] 创建者组织 [Org1MSP]
- c# - 如何以编程方式将 .NET 5 中的文件上传到 .NET 5 Rest API 而不会丢失内容?
- javascript - 在 React 中处理组件的 onClick
- php - xdebug.overload_var_dump(在 Xdebug 3 中删除了设置)现在呢?
- spring-integration - 使用 Spring Integration 在 sftp 中复制远程文件
- vcpkg - VCPKG 版本的软件包
- python-3.x - 从越来越多的 csv 文件中实时更新图表
- android - Android Management API - 自助服务终端应用的无缝更新
- reactjs - Material-UI 自动完成单选不起作用
- mongodb - 计算集合条目中的所有项目