javascript - $ionicplatform 内的 $scope 不起作用

标签 javascript angularjs cordova ionic-framework angularjs-scope

我一直在开发一个应用程序,但这似乎不起作用。通常,如果我们向范围添加一个值,我认为它需要在应用程序中更新。这是 index.html

<body ng-app="starter">
<ion-nav-view>
  <ion-view>
  <ion-side-menus>
        <ion-side-menu-content>
          <ion-nav-bar class="top-nav">

          </ion-nav-bar>
          <ion-content class="body" ng-controller="frontpage">
          ss {{njk}} dd
          </ion-content>
        </ion-side-menu-content>
        <ion-side-menu side="left">

        </ion-side-menu>
  </ion-side-menus>
  </ion-view>
</ion-nav-view>

这是 app.js

var main=angular.module('starter', ['ionic','ngCordova'])
.run(function($ionicPlatform) {
$ionicPlatform.ready(function() {
if(window.cordova && window.cordova.plugins.Keyboard) {
  cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
  cordova.plugins.Keyboard.disableScroll(true);
}
if(window.StatusBar) {
  StatusBar.styleDefault();
}
  });

});

main.controller("frontpage", function($scope,$cordovaFile,$ionicPlatform) {
  $ionicPlatform.ready(function() {
  $scope.njk='sss';
  alert($scope.njk);
 });
});

问题出在 $scope.njk 上。我已将它添加到 $ionicPlatform.ready 中并分配了值,但它并未反射(reflect)在应用程序中。但警报框随值(value)而来。我非常需要它在 ready 函数中。因为 cordova.file 不能在外面工作。我也尝试过 $rootScope。但这似乎不起作用。

最佳答案

尝试使用:

$ionicPlatform.ready(function() {
  $scope.$apply(function () {
    $scope.njk='sss';
  });
});

Angular 通常会自动处理摘要,但是如果你在 Angular 上下文之外更改任何模型(在本例中是 $ionicPlatform.ready 函数),那么你需要通过调用通知 Angular 这些更改$apply() 手动。这就像告诉 Angular 您正在更改某些模型并且它应该触发观察者以便您的更改正确传播。

关于javascript - $ionicplatform 内的 $scope 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37316394/

相关文章:

javascript - Backbone View 不隐藏父 View 的事件

android - 是否可以在不同的硬件上虚拟测试 Android 应用程序?

javascript - 通过外部 ng-repeat 变量过滤内部 ng-repeat

android - 可以使用 Eclipse 调试 PhoneGap 吗?

android - cordova构建失败:Android

javascript - 通过 Angular 访问对象

javascript - Vue-Router 仅适用于某些路由

javascript - 我有一个用户可以自动下载 pdf 文件的网站,它不应该在新标签页中打开

javascript - Filereader 在读取为 readAsArrayBuffer 时使用正确的编码读取文件

javascript - 包含 ngMock 时 Controller 不工作