角度事件不会更新页面

时间:2014-06-24 06:29:25

标签: angularjs visual-studio typescript

我正在使用很多内联jquery javascript将mvc应用程序中的页面转换为使用typescript的角度。

第一次调用工作正常,但我遇到了问题:基于下拉列表中的选择,事件会更新视图中的几个控件,进行一些ajax调用,最后使用调用中的数据更新视图。

似乎转换工作正常,但在通话结束时页面未更新。

  1. 我尝试删除所有旧的jquery代码以避免出现问题。

  2. batarang和java控制台报告没有错误。

  3. 完成最后的ajax调用,并在调试中显示结果。

  4. 一切似乎都运行良好,但页面没有更新。

    如何找到问题?

    感谢

3 个答案:

答案 0 :(得分:2)

没有看到任何代码,很难回答,但如果你将一个事件绑定到一个元素并希望更新回调中的内容,你将不得不使用$ apply

scope.$apply(function () {
    // your code
});

$ apply将触发$ digest循环,并且当你想要在有角度的上下文之外更新某些内容时应该使用它。

答案 1 :(得分:0)

如果你想找到问题"然后你可以使用以下选项。

  1. 转到 Internet Explorer(10或11)

  2. 选择" 互联网选项"从设置菜单中。

  3. 转到" 高级"标签(最后一个标签)

  4. 列出了设置并选择" 显示有关每个脚本错误的通知"

  5. 取消选择" 禁用脚本调试(Internet Explorer)"和" 禁用脚本调试(其他)"

  6. 再次运行程序,您将收到有关显示实际结果时发生的实际问题的通知。

答案 2 :(得分:0)

很可能您没有正确处理异步调用。从你的问题中无法分辨,但是你所描述的症状是一个非常常见的错误。

确保您在.then()请求返回的承诺的$http方法中更新模型。例如

someFnDoingHttpRequest().then(function(data){ 
        // updated the model with the data 
        })

另外(另一个常见错误)确保someFnDoingHttpRequest()返回一个承诺。