angularjs - sails.js 中实时刷新网页

标签 angularjs node.js sails.js

在我的项目中,我使用 sails.js。我从 test1.ejs 调用一个 Web 服务,该服务又使用 res.view() 调用另一个 ejs(test2.ejs)。 现在android用户正在输入一些影响数据库的值,需要实时反射(reflect)在网页上。我无法弄清楚如何使用 sails.js 来实现这一点。 此外,我什至需要显示 Android 用户响应,同时刷新网页。简而言之,我想要一个像股票市场一样的动态用户界面,服务器上的任何变化都会反射(reflect)在前端。 我需要使用其他东西,比如 angularjs 吗?

最佳答案

如果我正确理解您的问题,您可以使用 JavaScript 接口(interface)。

您应该像这样创建类:

public class WebAppInterface {
    Context mContext;

    /** Instantiate the interface and set the context */
    WebAppInterface(Context c) {
        mContext = c;
    }

    /** Show a toast from the web page */
    @JavascriptInterface
    public void showToast(String toast) {
        Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
    }
}

之后,您应该将此接口(interface)连接到您的 WebView ,如下所示:

webView.addJavascriptInterface(new WebAppInterface(this), "Android");

现在你可以像这样从 JS 调用 Java 代码:

<script type="text/javascript">
    function showAndroidToast(toast) {
        Android.showToast(toast);
    }
</script>

或者从 Java 调用 JS 代码,如下所示:

webview.loadUrl("javascript:window.showAndroidToast(\"Hello, World!\")");

更多信息可在此处获取:https://developer.android.com/guide/webapps/webview.html

关于angularjs - sails.js 中实时刷新网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31788000/

相关文章:

javascript - 内容丰富且 javascript : get only entries with fields. future 日期

node.js - 发生未处理的异常: Cannot read property 'Minus' of undefined

mysql - 我想在nodejs中的mysql中添加一个变量

javascript - 如何在生产服务器上测试、调试和查看 Node js 应用程序的控制台日志消息

node.js - Sails 与 Loopback API 后端

angularjs - 如何在模板中设置范围?

AngularJS 选择列表与 optgroups 与组合标签的选定项目

node.js - sails 连接到postgres

javascript - AngularJS:$http 请求问题 - DOM 未针对 jQuery 函数调用更新

node.js - 如何在添加到数组之前检查嵌套数组项是否已存在