Javascript 如何在AngularJS中绑定类型?
我有一个简单的设置,我的Angular应用程序从API检索一组项目和人员(所有者),并在进行更改时发布对象 是否有一种简单直接的方法可以将Javascript 如何在AngularJS中绑定类型?,javascript,angularjs,angularjs-directive,relational-database,Javascript,Angularjs,Angularjs Directive,Relational Database,我有一个简单的设置,我的Angular应用程序从API检索一组项目和人员(所有者),并在进行更改时发布对象 是否有一种简单直接的方法可以将person对象的下拉列表(使用person.id)双向绑定到item.ownerId字段 这是我的密码 我已经尝试建立自己的指令来实现这一点,但我似乎无法让它工作 $formatters和$parsers能成为解决方案吗 将字段包装在另一个指令中,并使用独立的方法是一个好方法吗 我尝试过使用$scope.$watch语句,但它最终会来回跳转更新,直到浏
person
对象的下拉列表(使用person.id
)双向绑定到item.ownerId
字段
这是我的密码
我已经尝试建立自己的指令来实现这一点,但我似乎无法让它工作
和$formatters
能成为解决方案吗$parsers
- 将字段包装在另一个指令中,并使用独立的方法是一个好方法吗
- 我尝试过使用
语句,但它最终会来回跳转更新,直到浏览器内存耗尽$scope.$watch
是我目前使用的解决方案,但它确实太具体了。我需要双向绑定,我需要一个解决方案,可以在不同类型之间进行任意绑定(在这里我可以定义内射关系)ng change
- 你很接近了。我认为您遇到了问题,因为select元素中每个选项的值都是一个
person
对象,但是您的项目中没有person
对象,您只有person的Id(即所有者Id
)
将select元素选项的值绑定为person.id
,并将ng model设置为item.ownerId
,您应该很好
<select ng-options="person.id as person.name for person in people" ng-model="item.ownerId"></select>
这是一个例子。按按钮以编程方式将花盆重新分配给奥斯卡,并观看视图更新。Wow!我不知道你能做到。谢谢您知道如何在不同的设置中将模拟为
功能吗?这适用于select
标记,但我有其他严格绑定到对象的UI控件。我正在通读代码。你在想什么其他控件?我也在使用绑定到日期对象的指令。Items API以特定的字符串格式发送和接收日期,因此我需要通过来回转换的函数将日期对象绑定到字符串。这并不像访问对象的属性那么简单,但这是一个类似的场景。因此,您希望以不同于另存为的格式显示日期吗?你能做一个扑克牌吗?你可能应该把它作为一个单独的问题发布。你可能是对的。我将提出一个单独的问题。我可以通过修改原始指令代码中的$formatters
和$parsers
将日期选择器绑定到特定的API格式的日期字符串,但我想找到一种方法,在通过函数转换绑定的指令中任意包装字段,而不是复制值。谢谢你的意见。