javascript - 如何在 Appgyver Steroids 中创建自定义 webview

标签 javascript angularjs html steroids

我打算创建以下设计:

enter image description here

  • 主视图应该显示一个网页
  • 它的左边应该有一个抽屉
  • 抽屉应由应用标题中的“汉堡包”图标触发

我现在有以下应用程序结构:

主视图:

<div class="padding" ng-controller="IndexController">
    <super-navbar>
        <super-navbar-title>
            My first app!
        </super-navbar-title>
    </super-navbar>    
</div>

Controller :

angular
  .module('example')
  .controller('IndexController', function($scope, $document, supersonic) {
      $scope.navbarTitle = "Index";         
      addEventListener('load', load, false);
      steroids.view.displayLoading();
      var googleLayer = null;
      googleLayer = new steroids.views.WebView({ location: "http://example.com/page1" });;
      googleLayer.preload({}, {
          onSuccess: replaceLayer
      });

      function load() {        

          var options = {
              side: "left",
              width: 150
          }
          supersonic.ui.views.find("leftDrawer").then(function (leftDrawer) {
              supersonic.ui.drawers.init(leftDrawer);
              supersonic.ui.drawers.open("leftDrawer")
          });

      }
      function replaceLayer() {          
          steroids.layers.replace({
              view: googleLayer,
          }, {
              onSuccess: function () {
                  //alert("The layer stack has been replaced.");
              },
              onFailure: function (error) {
                  //alert("Could not replace the layer stack: " + error.errorDescription);
              }
          });
      }      
  });

结构.咖啡:

# Read more about app structure at http://docs.appgyver.com

module.exports =

  # See styling options for tabs and other native components in app/common/native-styles/ios.css or app/common/native-styles/android.css
#tabs
    rootView:
     location: "example#getting-started"

  preloads: [
    {
      id: "learn-more"
      location: "example#learn-more"
    }
    {
      id: "using-the-scanner"
      location: "example#using-the-scanner"
    }
  ]

  drawers:
    left:
      id: "leftDrawer"
      location: "example#drawer"
      showOnAppLoad: true
     options:
      animation: "swingingDoor"

 # initialView:
  #   id: "initialView"
   #  location: "example#initial-view"

到目前为止的行为:

  • 应用程序启动并显示一个加载圆圈(因为 steroids.view.displayLoading();)
  • 加载圆圈消失,网页加载(因为 googleLayer 正在替换初始 View )
  • 没有显示抽屉

我认为,应该进行这些修改:

  • 初始 View 应该已经加载页面(如何?它只是一个 div)
  • 抽屉应该可以用了
  • 应该有一个可点击的“汉堡包”图标

我应该修改什么以实现所需的行为?我找不到任何合适的教程或足够的文档。

最佳答案

您的初始 View 已被评论。去掉“#”

关于javascript - 如何在 Appgyver Steroids 中创建自定义 webview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29221255/

相关文章:

javascript - 滚动顶部未到达正确位置

html - 将样式表链接到 1 个 Div 并且仅链接到 1 个 Div

html - 如何在启用 bootstrap 的 html 表的元素之间添加间距?

javascript - 粘性标题没有完全固定

javascript - 如何访问 angularjs Controller 中的变量?

java - angularjs spring Rest文件上传表单

javascript - 使用 ng-repeat 渲染嵌套指令时出错

javascript - 加载后在 VueJs 2 组件中运行函数

javascript - 无法访问 iframe 样式高度和宽度并使用 JavaScript 更改它

javascript - 如何在没有浏览器参与javascript的情况下从url下载文件