2***@qq.com
2***@qq.com
  • 发布:2017-12-11 16:00
  • 更新:2017-12-11 17:20
  • 阅读:2103

mui.openWindow的extras传参数到B页面

分类:MUI
mui

在B页面通过

var self = plus.webview.currentWebview();  
bandID = self.bandID;

获取到bandID,那怎么在

var app = angular.module("bandUsersModule",[]);  
        app.controller("bandUsersController",['$scope', function($scope){  
            $scope.bandID = bandID;  
            $scope.$apply();  
            console.log(bandID + '----------');  
        }]);

获取到bandID呢

2017-12-11 16:00 负责人:无 分享
已邀请:
2***@qq.com

2***@qq.com (作者) - aa

没人么

n***@gmail.com

n***@gmail.com

只要在plusReady事件之后,通过plus.webview.currentWebview().bandID 就能拿到。
注意:扩展参数仅在打开新窗口时有效,若目标窗口为预加载页面,则通过mui.openWindow方法打开时传递的extras参数无效。

  • 2***@qq.com (作者)

    我打开的是新窗口,通过plus.webview.currentWebview().bandID 也能拿到bandID。我现在需要在controller里面获得到这个bandID

    2017-12-11 17:13

  • 2***@qq.com (作者)

    我上传了完整的代码,麻烦你帮我看下,谢了

    2017-12-11 17:21

  • n***@gmail.com

    最简单的办法就是存localStorage

    2017-12-11 17:31

  • 2***@qq.com (作者)

    回复 n***@gmail.com:解决了,谢谢你

    2017-12-11 17:53

太烏

太烏

贴个完整代码吧

  • 2***@qq.com (作者)

    已上传,你看一下

    2017-12-11 17:20

2***@qq.com

2***@qq.com (作者) - aa

B页面的controller:

define(["../config"],function(config){  
    require(["angular","mui","Constants","BandService"],function(angular,mui,constants,BandService){  
        var bandService = new BandService();  
        mui.init();  
        mui.plusReady(function(){  
            var self = plus.webview.currentWebview();  
            bandID = self.bandID;  
            console.log("bandID ------= " + bandID);  
        });  

        var app = angular.module("bandUsersModule",[]);  
        app.controller("bandUsersController",['$scope', function($scope){  
            $scope.bandID = bandID;  
//          $scope.$apply();  
            console.log(bandID + '----------');  
        }]);  

    })  
})  
  • 太烏

    把bandID定义为全局变量试试

    2017-12-11 17:23

  • 2***@qq.com (作者)

    回复 太烏:这个不行,在方法里面的值,出了方法体就失效了

    2017-12-11 17:24

  • 太烏

    定义一个 var bandID = []在最外面不行?

    2017-12-11 17:26

  • 2***@qq.com (作者)

    回复 太烏:这样不行,建议你看下js的作用域问题

    2017-12-11 17:31

  • 太烏

    回复 2***@qq.com:你现在这个ID是私有变量肯定是获取不到的

    2017-12-11 17:31

  • 2***@qq.com (作者)

    回复 太烏:那页面传递的参数该怎么使用呢

    2017-12-11 17:32

  • 太烏

    我一般把值存到一个元素的自定义属性上然后再需要的地方获取这个属性

    2017-12-11 17:35

  • 2***@qq.com (作者)

    回复 太烏:可以这么做 存localStorage

    2017-12-11 17:53

该问题目前已经被锁定, 无法添加新回复