【问题标题】:Alert shows value: Undefined警报显示值:未定义
【发布时间】:2013-09-17 07:14:28
【问题描述】:

我是 Sencha Touch 的初学者。我正在使用 Sencha Architect。

我正在开发一个简单的导航视图控制器。为此,我指的是 sencha 文档。

http://docs.sencha.com/architect/2/#!/guide/navigationview

但最后它(警报)显示 ::-

您的结果是:未定义。

但我已经将其定义为:

变量结果;

var mainNav = button.up('navigationview'),
    num1 = mainNav.child('step1').getValues().number1,
    num2 = mainNav.child('step2').getValues().number2,
    operation = mainNav.child('step3').getValues().operation;
var result;

switch (operation) {
    case 'add':
    result = num1 + num2;
    break;
    case 'subtract':
    result = num1 - num2;
    break;
    case 'multiply':
    result = num1 * num2;
    break;
    case 'divide':
    result = num1 / num2;
    break;
}

Ext.Msg.alert('Your result is: ' + result);

怎么办??我认为这是非常基本的。

谢谢

【问题讨论】:

  • 需要一些代码吗?试试jsFiddle
  • 你应该调试它。所有的价值观是什么?你的代码经过哪个分支?

标签: extjs sencha-touch sencha-architect


【解决方案1】:

num1 和 num2 未定义或没有任何 switch case 执行。试试

  console.log(num1),console.log(num2) and console.log(operation) 

在执行 Switch 语句之前。同样也看看执行了哪种情况,并尝试安慰结果,就像

case 'add':
    result = num1 + num2;
    console.log(result);
    break;

【讨论】:

  • 如果num1num2undefined,那么resultNaN。如果其中之一或两者都是null,则生成一个数字或NaN。由于 OP 说 result 未定义,这意味着没有执行任何案例。无论如何,您的答案显然是要走的路,尽管我建议在 switch 上设置一个断点并检查所有内容...
猜你喜欢
  • 2011-06-17
  • 1970-01-01
  • 2020-03-21
  • 1970-01-01
  • 1970-01-01
  • 2019-01-13
  • 1970-01-01
  • 2012-06-30
相关资源
最近更新 更多