离子含量和离子页脚具有不同的范围

Mr.*_*r.P 5 javascript angularjs cordova angularjs-scope ionic-framework

我的离子内容中有两个输入字段,它们都附有一个ng模型.然后在我的离子脚里面,我有一个ng-click,我称之为一个函数并传入两个ng-model.

当我在离子内容中进行ng-click时,这一切都运行正常,但是当我将它移动到页脚时,我对于传递给函数的两个参数未定义.

这是否意味着离子含量和离子页脚具有不同的$ scope?即使它们在同一个文件中并且具有相同的控制器??

Pan*_*kar 7

我相信ion-footerion-content创建了一个新的子范围,它是原始范围的原型inerherit.下面的离子代码将为您提供内部工作原理的更好说明,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>',
Run Code Online (Sandbox Code Playgroud)

您需要使用.注释来解决您的问题

例如.

如果你使用变量作为原始的

$scope.volume = 5
Run Code Online (Sandbox Code Playgroud)

然后你需要使用:

$scope.data = { 'volume' : 5}
Run Code Online (Sandbox Code Playgroud)

角原型范围继承