从嵌套解析函数绑定到范围

时间:2016-01-07 09:56:52

标签: javascript angularjs angularjs-scope

我总是遇到这个问题,我试图从嵌套的解析函数(.then())绑定到作用域,因为我想用数据库中的更新数据刷新视图。 / p>

但是,在嵌套的解析中,由于某种原因,我永远无法绑定到作用域。这对我来说没有意义,因为它从第一个解决方案起作用很好。

虽然通过将第二个解析中的数据存储到服务中然后使用控制器中的观察程序来检查服务是否发生更改然后更新范围,但是有一个简单但繁琐的解决方法,这对于这样做是有点过分的一件简单的事情。

当然,从嵌套的解析函数中绑定到范围必须更简洁明了吗?

示例api调用解析:

// Simple $http.get requests from my factory which gets resolved here
tagApi.delete({id: item.id}).then(function(res) {

    // Binding scope from here works
    $scope.someProp = res;

    tagApi.edit({id: res.id}).then(function(res) {

        // But not from inside here
        $scope.someProp = res;
    });
});

2 个答案:

答案 0 :(得分:1)

你可以这样试试:

create proc Test
AS BEGIN

SELECT CAST('jkj' AS NVARCHAR(20)) value 

END

DECLARE @tmp TABLE(value nvarchar(20))

INSERT INTO @tmp EXEC GhaziTest

SELECT * from @tmp

答案 1 :(得分:0)

您可以在tagApi.delete的成功函数中使用$broadcast

$rootScope.$broadcast('tag:deleted', res);

然后:

$rootScope.$on('tag:deleted', editFunc);
var editFunc = function (event, res) {
  tagApi.edit({id: res.id});
};