Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS未定义范围变量_Javascript_Ruby On Rails_Angularjs_Coffeescript_Slim Lang - Fatal编程技术网

Javascript AngularJS未定义范围变量

Javascript AngularJS未定义范围变量,javascript,ruby-on-rails,angularjs,coffeescript,slim-lang,Javascript,Ruby On Rails,Angularjs,Coffeescript,Slim Lang,我的问题是,每次选择标记被更改时,ProductContooller.js.coffee中的$scope.variationValue值都是未定义的。知道为什么它不明确吗 ProductContoller.js.coffee 很可能是因为您使用的是一个用于ng模型的原语,这是一种非常糟糕的做法。在ng模型中始终有一个点,反映出为了继承而绑定到对象work@charlietfl你说ng模型中的点是什么意思?使用角度模型时需要理解的更重要的整体概念之一。尽可能多地遵循本文中的链接@charlietf

我的问题是,每次选择标记被更改时,ProductContooller.js.coffee中的$scope.variationValue值都是未定义的。知道为什么它不明确吗

ProductContoller.js.coffee


很可能是因为您使用的是一个用于ng模型的原语,这是一种非常糟糕的做法。在ng模型中始终有一个点,反映出为了继承而绑定到对象work@charlietfl你说ng模型中的点是什么意思?使用角度模型时需要理解的更重要的整体概念之一。尽可能多地遵循本文中的链接@charlietfl仍然不起作用您可能在控制器和元素范围之间有一个子范围或多个子范围。若在控制器中定义该对象,则继承将起作用。不必添加属性,因为如果尚未定义属性,ng模型将为您添加属性。若你们已经做了,那个么创建一个复制问题的演示
controllers = angular.module('controllers')
controllers.controller("ProductController", [ '$scope', '$routeParams', '$location','Restangular'
  ($scope,$routeParams,$location,Restangular)->

    $scope.update_variation = ()->
      console.log $scope.variationValue <---- undefined why?

    Restangular.one('products', $routeParams.id).get().then (c) ->
      $scope.price = c.cheapest_variant.price
      $scope.product = c
      return
])
.form-group
  label for="sel1"  Variations:
  select ng-options="variant as variant.opt1_value for variant in product.variants" ng-model="variationValue" ng-change="update_variation()"
  | Value {{variationValue.price}}