如何在没有双向绑定的情况下将ngModel传递给AngularJS组件
How to pass ngModel to AngularJS component without 2-way binding?
我把自定义输入作为单向数据绑定的AngularJS 1.5组件,把ngModel作为双向数据绑定:
return {
bindings: {
form: "<",
fieldName: "@",
minLength: "@",
maxLength: "@",
isRequired: "@",
errors: "<",
value: "=ngModel"
},
templateUrl: "actTextField.html",
controller: ActTextFieldController,
}
在文件actTextField.js
中提供Plunk。我想遵循一个新的Angular 1。x ES2015风格指南,通往Angular 2的路径,Todd写了:
我们不应该再通过'='语法使用双向数据绑定
使用单向数据绑定'<'和函数'&'
因此,ngModel
的双向数据绑定可能不是一个好的选择,它应该是单向的。另一方面,我想保持组件尽可能简单-没有,例如,on-change
回调。它应该在ngModel
指令下接近原生input
。是否有可能将ngModel
传递给没有双向数据绑定的组件,同时能够从组件更改其值,以避免(例如)额外的回调?
如果你打算使用angular组件,请尝试明智地使用单向绑定。在视图模型中托管模型的上层父级应该是唯一能够修改模型的。如果你想让子组件修改模型,你需要这样传递一个函数:
bindings: {
updateUsername : '&', // Function
user : '<' // Model
}
他们这样做是为了简化angular概念,并使用指令减少页面上的事件数量。
相关文章:
- React重新渲染但未显示正确的组件
- 不能从angular2中的子组件指定父组件中的数组
- 拨打'父亲'函数形式a'儿童'ReactJS中的组件
- React组件等待所需道具进行渲染
- 如何创建带有插槽的vue js组件预加载程序
- KnockoutJS-组件-多个实例
- 如何更改reactjs中外部/独立组件的状态或属性
- 如何在react js中将值从一个组件发送到另一个组件
- React Native通过Navigator将用户输入数据传递到选项卡栏IOS中的组件
- React组件-设置页面标题
- 我的shareService在angular 2中发送值工作正常,但当我渲染我的另一个组件时,会获得默认值
- 如何在salesforce aura闪电组件中使用jQuery.val()
- 为react组件传递道具的最佳方式
- [Vue warn]:未能解析组件
- 如何控制组件'的createContent函数被激发
- react组件中的绑定方法
- 如何将ngrepeat下的ngmodel绑定到$scope
- 允许组件及其子组件在service中访问ngModel的单个实例
- 如何在没有双向绑定的情况下将ngModel传递给AngularJS组件
- 获取子组件中 ngModel 的值