我正在尝试让一个子指令监听父指令范围的变化;然而,“$ watch”并没有成功。我觉得我错过了很简单的事情。
代码的前提是监听选择的更改并从对象获取属性并将其传递给child指令。我正在使用范围。$ parent。$ watch但这不起作用。有任何想法吗?
_someMemberVariable
答案 0 :(得分:0)
我想出来了。在使用数据设置变量之后需要运行范围。$ apply()。原因范围不是监听是因为我在jQuery函数中设置范围。
link : function( scope, elem, attrs ){
//on select change get the attribute selections
elem.find( "select" ).on( "change", function( vent ){
var select, option, attribute_id, selections;
select = angular.element( this );
option = select.find( "option:selected" );
attribute_id = parseInt( option.val() );
//get the selections off array
scope.selections = _.first(
_.where( scope.options, { id : attribute_id })
).selections;
//!!APPLY!!!!
scope.$apply();
});
}