我在 ion-content 内部有两个输入字段,并且它们都附加有ng模型。然后在我的ion-footer中,我有一个ng-click,我在其中调用一个函数并传入两个ng-model。

当我在 ion-content 内部进行ng-click时,所有这些工作都很好,但是当我将其移动到页脚时,对于传递给函数的两个参数,我不确定。

那么这是否意味着 ion-content 和 ionic 页脚具有不同的作用域?即使它们位于同一文件中并且具有相同的 Controller ?

最佳答案

我相信ion-footerion-content会创建新的子范围,即当前范围的Prototypically inerherit。下面的 ionic 代码将为您更好地说明其内部工作方式,scope: true,负责创建新的子范围。

代码

.directive('ionContent', [
  '$parse',
  '$timeout',
  '$ionicScrollDelegate',
  '$controller',
  '$ionicBind',
function($parse, $timeout, $ionicScrollDelegate, $controller, $ionicBind) {
  return {
    restrict: 'E',
    replace: true,
    transclude: true,
    require: '^?ionNavView',
    scope: true, //<-- this creates a prototypically inerherited scope
    template:
    '<div class="scroll-content">' +
      '<div class="scroll"></div>' +
    '</div>',

您需要使用.批注将解决您的问题

例如。

如果您将变量用作原始变量,例如
$scope.volume = 5

然后,您需要使用:
$scope.data = { 'volume' : 5}

Angular Prototypal Scope Inheritance

关于javascript - ion-content和ion-footer具有不同的$ scope,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30119844/

10-13 06:18