使用rest api从sharepoint组获取用户,如果当前用户出现在该特定组中,则表单(视图)必须有一些额外的选项和按钮可见。所以我使用$ watch来检测分配给rest api返回值的变量的变化,并在$ watch回调中定义视图中的变化。现在,当Rest api返回$ watch函数时,但视图仍未更新。
如果我执行,
app.use(box.test.bind(box));
在控制台中,然后我的表单加载正常。
答案 0 :(得分:0)
如果您使用Angular的$ http服务发出请求,它将自动处理更新视图。如果您在没有它的情况下提出请求,则需要告知Angular数据已更改。
虽然可以使用手表,但这并不是实现此目的的最佳方法。我建议使用$ http。如果你不能,只需在你的响应函数中调用$ timeout()。
另外,关于这个:
angular.element('[ng-controller=controllerName]').scope().$apply();
如果你在你的控制器中调用它,你可以简单地调用scope。$ apply(),不需要访问DOM。这一行暗示了您整体方法的问题。