AngularJS布尔值始终在范围内返回true

时间:2016-09-27 03:41:42

标签: javascript ios angularjs cordova ionic-framework

所以我有一个带有两个特定参数的状态(subjectID& isCalc):

x = tf.Print(x, [x], "Value of x is: ")

&安培;在我的控制器中,我有:

  .state('tabsController.formulaPicker', {
    url: '/my/:subjectID?withCalc',
    views: {
      'tab1': {
        templateUrl: 'templates/formulaPicker.html',
        controller: 'formulaPickerCtrl'
      }
    }
  })

但是在我声明范围< .controller('formulaPickerCtrl', function ($scope, $stateParams, $http) { $scope.subjectID = $stateParams.subjectID; $scope.subjectName = ''; $scope.withCalc = $stateParams.withCalc; $scope.formulas = []; $http.get('../Data.json') .success(function (data, status, headers, config) { // Alerts correct value alert($scope.withCalc); // Always returns true $scope.subjectSet = ($scope.withCalc) ? data.subjects : data.subjects_no_calc; $scope.subjectName = $scope.subjectSet[$scope.subjectID].name; $scope.formulas = $scope.subjectSet[$scope.subjectID].formulas; }) .error(function (data, status, headers, config) { }) .then(function (result) { }); }) 值的行中,我有一个三元运算符来检查subjectSet bool值,它从json文件返回一组特定的数据我要求了。每次加载控制器时,它都会提示isCalc值,这是我想要的&是正确的。但是三元表达式总是返回true,即使它警告错误。这导致我返回错误的值集。

来自第一个控制器的两个isCalc属性:

ui-sref

第一部分 &安培;

ui-sref="tabsController.formulaPicker({subjectID: $index, withCalc: true})"

第二部分。

记住它会提醒正确的值,但无论如何,三元表达式总是返回true。

提前谢谢。

1 个答案:

答案 0 :(得分:1)

检查$scope.withCals是否不是String对象。您可能需要将其显式转换为布尔值。