Angularjs 重置其他选择框时发生$apply已在进行中错误

Angularjs 重置其他选择框时发生$apply已在进行中错误,angularjs,Angularjs,请检查我的代码片段。我正在使用自定义选择框。并尝试在其他选择框选择上重置。“更改”遇到了一个错误。请帮助我哪里错了,正确的方法是什么。提前谢谢 $(文档).on(“单击焦点”,.sbSelector,.sbToggle”,函数(){ $(此).最近(“.sbHolder”).prev(“选择”).trigger(“单击”); }); var-app=angular.module('app',[]); app.controller('appController',['$scope',函数($sc

请检查我的代码片段。我正在使用自定义选择框。并尝试在其他选择框选择上重置。“更改”遇到了一个错误。请帮助我哪里错了,正确的方法是什么。提前谢谢

$(文档).on(“单击焦点”,.sbSelector,.sbToggle”,函数(){
$(此).最近(“.sbHolder”).prev(“选择”).trigger(“单击”);
});
var-app=angular.module('app',[]);
app.controller('appController',['$scope',函数($scope){
$scope.allTheme=[{
“主题id”:2,
“产品数据”:[{
“门店标识”:1,
“产品标识”:3,
“样式id”:1,
“尺寸id”:3,
“主题id”:2,
“姓名”:“男孩-FD”,
}, {
“门店标识”:1,
“产品标识”:4,
“样式id”:1,
“尺寸id”:3,
“主题id”:2,
“姓名”:“男孩-FE”
}, {
“门店标识”:1,
“产品标识”:8,
“样式id”:1,
“尺寸id”:3,
“主题id”:2,
“姓名”:“男孩-QS”,
}]
}, {
“主题id”:5,
“产品数据”:[{
“门店标识”:1,
“产品id”:99,
“样式id”:1,
“尺寸id”:3,
“主题id”:5,
“名称”:“空白-FD”
}, {
“门店标识”:1,
“产品标识”:100,
“样式id”:1,
“尺寸id”:3,
“主题id”:5,
“名称”:“空白-FE”
}, {
“门店标识”:1,
“产品标识”:101,
“样式id”:1,
“尺寸id”:3,
“主题id”:5,
“名称”:“空白-QS”
}]
}, {
“主题id”:7,
“产品数据”:[{
“门店标识”:1,
“产品id”:129,
“样式id”:1,
“尺寸id”:3,
“主题id”:7,
“名称”:“航海”
}]
}, {
“主题id”:10,
“产品数据”:[{
“门店标识”:1,
“产品标识”:12,
“样式id”:1,
“尺寸id”:3,
“主题id”:10,
“姓名”:“女孩-FD”
}, {
“门店标识”:1,
“产品标识”:13,
“样式id”:1,
“尺寸id”:3,
“主题id”:10,
“姓名”:“女孩-FE”
}, {
“门店标识”:1,
“产品标识”:17,
“样式id”:1,
“尺寸id”:3,
“主题id”:10,
“姓名”:“女孩-QS”
}]
}];
$scope.targetField=null;
$scope.selectBoxClick=函数($event){
如果($event.target==null){
返回;
}
$scope.targetField=$event.target;
}
$scope.changeTheme=功能(主题,所选产品){
$scope.activeTheme=主题;
如果(所选产品){
$scope.issizedThemeselected=true;
$($scope.targetField).closest(“.owl item”).sides().each(function()){
if($(this.find(“select”).length){
var option=$(this.find(“select option”).eq(0);
$(this.find(“select”).selectbox(“change”、option.attr(“value”)、option.html();
}
})
}否则{
$scope.issizedThemeselected=false;
$scope.activeTheme={};
}
}
}]);
app.directive('customSelect',['$timeout',function($timeout){
返回{
限制:“C”,
排除:错误,
链接:功能(范围、元素){
scope.initSelectbox=函数(元素){
$timeout(函数(){
element.selectbox();
}, 0)
}
}
};
}]).directive('customSelectItem',[function(){
返回{
限制:“A”,
排除:错误,
链接:功能(范围、元素){
如果(范围$last){
scope.initSelectbox(element.parent());
}
}
};
}]);
.sbHolder{
字体大小:14px;
位置:相对位置;
高度:50px;
}
.sb>a{
颜色:#fff;
文字装饰:无;
显示:块;
}
.sb选择器{
显示:块;
高度:31px;
左:0;
线高:19px;
溢出:隐藏;
位置:绝对位置;
文本缩进:-22px;
排名:0;
宽度:100%;
光标:指针;
颜色:#fff;
背景:fdb400;
显示:内联表;
文本缩进:0;
光标:指针;
}
.sbToggle{
显示:块;
高度:30px;
大纲:无;
位置:绝对位置;
右:0;
顶部:2个;
宽度:30px;
背景尺寸:16px;
z指数:9;
光标:指针;
}
.sbOptions{
背景:#fff;
边框:实心1px#dfdfdf;
列表样式:无;
左:0;
保证金:0;
填充:4px14px 10px 12px;
位置:绝对位置;
宽度:100%;
z指数:1;
溢出y:自动;
顶部:自动;
文本对齐:左对齐;
}
李先生{
填充:0px 0px;
}
.sbliimg{
显示:内联块;
浮动:左;
填充顶部:7px;
左:3倍;
}
.SBA选项{
边框底部:实心1px#e9e9e9;
显示:块;
大纲:无;
填充:7px 0 1px 0;
颜色:#5454;
字体系列:“源Sans-Pro”,无衬线;
字体大小:400;
}
.SBA:链接,
.SBA:已访问{
颜色:#6969;
字体大小:12px;
背景:#fff;
文字装饰:无;
过渡:所有0.2秒缓进缓出;
字体大小:300;
显示:块;
左侧填充:0;
}
.SBA选项:悬停,
.SBA:重点,
sb选项a.sbFocus{
颜色:#5454;
字号:600;
}
最后一个a{
边框底部:无;
}
.sbOptions.sb已禁用{
边框底部:虚线1px#515151;
颜色:#999;
显示:块;
填充:7px 0 7px 3px;
}
.sbOptions.sbGroup{
边框底部:虚线1px#515151;
颜色:#EBB52D;
显示:块;
字体大小:粗体;
填充:7px 0 7px 3px;
}
.sbOptions.sbSub{
左侧填充:17px;
}

选择一个选项
{{product.name}

不要在开始时使用任何带有
$$
的变量,因为它们被视为严格的内部和私有变量

例如,如果需要从jQuery回调触发摘要循环,请使用以下模式:

scope.$applyAsync(function () {
    // the code updating any other scope stuff
});

给它一个回调函数的好处是,如果函数内部发生任何错误,它将为您提供完整的堆栈跟踪。

不要在开始时使用带有
$$
的任何变量,因为它们被视为严格的内部和私有变量

如果你需要触发