$ionicplatform内的$scope不;不起作用

$scope inside $ionicplatform doesn't work

本文关键字:不起作用 scope ionicplatform 内的      更新时间:2023-09-26

我一直在开发一个应用程序,但这似乎不起作用。通常,如果我们向作用域添加一个值,我认为它需要在应用程序中更新。。这是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中,并分配了值,但它没有反映在应用程序中。但是警告框是带有值的。我非常需要它在就绪函数中。因为cordova.file不能在这个范围之外工作。我也试过$rootScope。但它似乎不起作用。

尝试使用:

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

Angular通常会自动处理消化,但如果您在Angular上下文之外更改任何模型(在本例中为$ionicPlatform.ready函数),则需要手动调用$apply()来通知Angular更改。这就像告诉Angular你正在更改一些模型,它应该解雇观察者,这样你的更改才能正确传播。