Angularjs 使用复杂对象作为指令绑定

Angularjs 使用复杂对象作为指令绑定,angularjs,angularjs-directive,angular-ui-typeahead,Angularjs,Angularjs Directive,Angular Ui Typeahead,我有一个字段,它由一个typeahead字段填充。typeahead字段将复杂对象设置到模型上 我想使用typeahead结果中的一个属性来填充我的自定义指令 例如: 该指令适用于非typeahead范围值 plnkr:这里的问题是,在早期状态下调用的链接函数中存在一个条件。之后,您的属性发生更改,但什么也没有发生。您需要在您的属性上添加一块手表或其他东西(在link函数中,这样它将监听更改,并根据更改采取行动)。这可以通过jquery事件来完成,例如,在更改或更好的情况下,通过对属性进行监视并

我有一个字段,它由一个typeahead字段填充。typeahead字段将复杂对象设置到模型上

我想使用typeahead结果中的一个属性来填充我的自定义指令

例如:

该指令适用于非typeahead范围值


plnkr:

这里的问题是,在早期状态下调用的链接函数中存在一个条件。之后,您的属性发生更改,但什么也没有发生。您需要在您的属性上添加一块手表或其他东西(在link函数中,这样它将监听更改,并根据更改采取行动)。这可以通过jquery事件来完成,例如,在更改或更好的情况下,通过对属性进行监视并添加一些条件。我不能用一个代码示例给你一个完整的答案,因为我很忙,但我想你可以尝试一下。类似的东西应该可以工作(没有检查):link:function(scope,element,attrs){scope.$watch(“content”,function(o,n){if(o!=null&&o!=n&&n.id!=null){element.html(n.id);});
<something content='typeaheadResult.id'></something>
scope.resultId = function(){ 
    return typeaheadResult !== undefined ? typeaheadResult.id : ''; 
}