我有一个带有模式绑定2路的指令,当通过ng-click调用save()方法时,父作用域不会更新,除非我调用$ scope.$ apply()然后抛出$ apply进行中错误.
我正在使用ngResource,并且该事件有一个监听器调用$ scope.model.$ save();
有解决办法吗?或者我做错了什么?
.directive('editable', function(){
return {
restrict: 'AE',
templateUrl: '/assets/partials/editable.html',
scope: {
value: '=editable',
field: '@fieldType'
},
controller: function($scope){
...
$scope.save = function(){
$scope.value = $scope.editor.value;
$scope.$emit('saved');
$scope.toggleEditor();
};
}
};
})
Run Code Online (Sandbox Code Playgroud)
UPDATE
看起来它毕竟更新了父节点,但是在摘要完成之前发射了一些内容.我可以使用$ timeout强制它到堆栈的末尾,但感觉有点hacky.有没有更好的办法?
$scope.$on('saved', function(){
$timeout(function(){
$scope.contact.$update();
}, 0);
});
Run Code Online (Sandbox Code Playgroud) 我正在使用Swift + AVPlayer构建一个应用程序,并将"基于控制器的状态栏外观视图"设置为"是".这个问题是,当我从UITableViewController/UINavigationController启动播放器时,导航栏会自动隐藏状态栏并调整导航栏的大小.
你可以在这里看到我的意思:

有什么方法可以防止这种情况吗?
干杯!