小编Gen*_*ene的帖子

角度服务设置和检索控制器之间的对象

我一直在尝试将一个服务对象从http post响应设置到控制器并从另一个控制器获取它.
我在SO或网站上看到的教程更侧重于从HTML输入到控制器,另一个控制器获取值.

我想避免使用rootscope,我是angular-js的新手.

第一个控制器(将Data1和Data2放在一个对象中)

.controller('GetItem',function($scope, $http, $filter, $ionicPopup, $stateParams, $cordovaSQLite, $cordovaDatePicker, dataFactory){
    ...
    console.log(resp.data);
    var data1= resp.data.data1;
    var data2= resp.data.data2;
 }
Run Code Online (Sandbox Code Playgroud)

第二个控制器(获取对象并检索data1和data2)

一些指针将深表赞赏!

Update1 :(保存函数有效但Get函数返回EMPTY):

.service('StoreService',function(){

 var data1=[]; //{} returns me an empty object

 this.save=function(data1){
 alert('DATA: '+ data1); //able to retrieve string
 this.data1=data1;

 };

 this.getData1=function(){
 alert('DATA1: '+ data1); //unable to get string
 return data1;

 };
})
Run Code Online (Sandbox Code Playgroud)

这是从服务中检索的第二个控制器:

 .controller('unlock', function($scope, $timeout, dataFactory, $stateParams,StoreService) {

  function test(){
    console.log(StoreService.getData1());
Run Code Online (Sandbox Code Playgroud)

更新2 :(工作)Tomislav的掠夺者:http://plnkr.co/edit/srAphQhAYuBZL18MY1Kr?p =preview

angularjs ionic-framework

7
推荐指数
2
解决办法
1万
查看次数

无法填充第二个选择语句

我有2个select语句,第一个选择由我的第一个webservice请求填充.用户在第一个选择中选择所需的数据,其中将触发onChange方法以检索第一个选择对象,再次运行webservice以检索另一组数据并填充第二个选择语句.

HTML:

<div class="input-label">
  Select Kittens:
</div>
<select
ng-model ="options"
ng-options ="option.name for option in options"
ng-change="onChange(options)">
<option>--</option>
</select>   
<br>
 <div class="input-label">
  Select Age:
</div>  
<select
ng-options ="detail.age for detail in details">
<option>--</option>
</select>
Run Code Online (Sandbox Code Playgroud)

控制器:

 .controller("ctrl",['$scope',function($scope){
        $scope.options = [
          {id:1, name:'typeA'},
          {id:2, name:'typeB'},
          {id:3, name:'typeC'},
          {id:4, name:'typeD'}
        ]

          $scope.onChange = function(item){
            console.log("Hi world!");
            console.log(item);
            $scope.details = [
          {id:1, age:'11'},
          {id:2, age:'10'},
          {id:3, age:'9'},
          {id:4, age:'6'}
        ]
    };
  }])
Run Code Online (Sandbox Code Playgroud)

问题:

1)选择第一个选择后,该值将从选择框中消失,但值(对象)将成功传递给onChange函数

2)无法填充第二个选择框

我创建了一个plunkr来复制我的问题(没有webservice).谢谢!

链接:http: //plnkr.co/edit/tqI0a83PiIHNUkKLj1WF?p = preview

javascript jquery angularjs ng-options angularjs-ng-model

6
推荐指数
1
解决办法
80
查看次数

将大纪元时间转换为具有特定时区的可读性

要将纪元dateTime转换为人类可读的,new date(1495159447834)就足够了。

我现在遇到的问题是,对于我的混合应用程序,如果用户将手机日期时间设置中的时区设置为GMT +12:00,则人类可读的dateTime将不同于我想要的用户拥有,我希望他/她遵循服务器时区。

因此,我将如何以人类可读的格式将纪元数转换为特定的给定时区。

我试过像这样的例子:

var test= new Date('1495159447834 GMT+0800').toString();
Run Code Online (Sandbox Code Playgroud)

它返回一个无效的日期。

如果可能,我希望没有任何库。我在这里浏览了所有答案,我认为找不到所需的答案。如果以前有相同主题的问题,请告诉我,我将结束此问题!

javascript datetime epoch

4
推荐指数
2
解决办法
7965
查看次数

离子2本地存储无法将检索到的值设置为变量

我试图将从.get函数检索到的值设置为外部声明但不能这样做的变量.

var dt;
//retrieve
this.local.get('didTutorial').then((value) => {
  alert(value);
   dt = value;
})

console.log("Local Storage value: "+dt);
Run Code Online (Sandbox Code Playgroud)

我能够为警报获得"true",但是对于在函数外部打印的console.log获得"未定义".

在此输入图像描述 在此输入图像描述

一个解决方法是我可以将所有剩余的代码放入".then函数"中,但这将非常混乱.

更新(解决方案):

根据离子api(http://ionicframework.com/docs/v2/api/platform/storage/LocalStorage/),他们使用.get来检索值.

由于使用promises具有自身的局限性,因此使用以下内容:

 constructor(navController) {
     this.navController = navController;
     this.local = new Storage(LocalStorage);
 }
Run Code Online (Sandbox Code Playgroud)

和getItem函数,

localStorage.getItem('didTutorial')
Run Code Online (Sandbox Code Playgroud)

您将能够检索它而无需将所有内容都放入回调方法中.

javascript ionic-framework ionic2 angular

3
推荐指数
1
解决办法
4111
查看次数

离子2:在离子载玻片内部产生ng-重复

我正在尝试做一个滑块样式页面,它根据我给出的json文件显示动态数据.

在我的控制器中:

constructor(navController) {
   this.navController = navController;
   this.populateHistory();
}

populateHistory(){
  console.log("populating!");
   var tests = '{[{"name":"jack"},{"name":"john"},{"name":"joe"}]}';
}
Run Code Online (Sandbox Code Playgroud)

在我的HTML中:

 <ion-slides>
    <ion-slide ng-repeat="test in tests">

        {{test.name}}

    </ion-slide>
 </ion-slides>
Run Code Online (Sandbox Code Playgroud)

即使您触发console.log,页面也不会出现.我猜我的html中有一些语法错误我没注意到.我必须在Ionic 2中使用collection-repeat吗?

javascript ionic-framework ionic2 angular

3
推荐指数
1
解决办法
5694
查看次数

Flutter 如何从 flutterWebviewPlugin.evalJavascript (addEventListener) 中检索 javascript 值

我有一个颤振代码片段,它从我的 iframe 页面侦听 postMessage。(flutter_webview_plugin: ^0.3.9+1)

flutterWebviewPlugin.onStateChanged.listen((viewState) async {
    String script = 'window.addEventListener("message", receiveMessage, false);' +
            'function receiveMessage(event) {console.log(\'receiving data from child , data as follows: \',event.data)}';
    flutterWebviewPlugin.evalJavascript(script);
}
Run Code Online (Sandbox Code Playgroud)

如果event.data返回特定值,我想触发特定的颤振函数, 相机值将触发我调用相机插件等的特定函数。意思是说我的目标 iFrame 将尝试通过postMessage方法进行跨域通信。

对于科尔多瓦,我可以这样做:

window.addEventListener( "message" , function( event )
{
  else if( event.data.indexOf( "camera" ) >= 0 )
        {
           //Trigger Camera Function
Run Code Online (Sandbox Code Playgroud)

我该如何为颤振做这件事?

flutter

3
推荐指数
1
解决办法
5876
查看次数

没有USB的远程调试Web应用程序

我目前正在使用USB连接来使用chrome的检查设备调试我的Web应用程序.在演示或演示期间,我不会将我的移动设备连接到我的PC客户端,但我希望在我的PC上看到控制台日志,以防万一发生任何异常事件.无论如何通过WIFI做到这一点?

或者我是否必须将输出数据发送到我的网络服务并从那里查看?

android cordova

2
推荐指数
1
解决办法
2836
查看次数

state_dict 中的意外键:“model”、“opt”

我目前正在使用 fast.ai 来训练图像分类器模型。

data = ImageDataBunch.single_from_classes(path, classes, ds_tfms=get_transforms(), size=224).normalize(imagenet_stats)
learner = cnn_learner(data, models.resnet34)

learner.model.load_state_dict(
    torch.load('stage-2.pth', map_location="cpu")
)
Run Code Online (Sandbox Code Playgroud)

这导致:

torch.load('stage-2.pth', map_location="cpu") 文件“/usr/local/lib/python3.6/site-packages/torch/nn/modules/module.py”,第 769 行,在load_state_dict 自我。name , "\n\t".join(error_msgs))) RuntimeError: Error(s) in loading state_dict for Sequential:

...

state_dict 中的意外键:“model”、“opt”。

我环顾四周并尝试使用以下解决方案:

# original saved file with DataParallel
state_dict = torch.load('stage-2.pth', map_location="cpu")
# create new OrderedDict that does not contain `module.`
from collections import OrderedDict
new_state_dict = OrderedDict()
for k, v in state_dict.items():
    name = k[7:] # remove `module.`
    new_state_dict[name] = v …
Run Code Online (Sandbox Code Playgroud)

python deep-learning pytorch fast-ai

1
推荐指数
1
解决办法
3299
查看次数