if-statement - 在Dart中如何使用true的返回值?

标签 if-statement boolean dart

当我尝试执行以下代码时,出现以下错误。

Uncaught TypeError: Object true has no method 'dartObjectLocalStorage$getter'



我在Dart编辑器0.1.0.201201150611版本3331中启动了一个Web应用程序。这是单独dart文件的完整代码。下面注释导致错误的if语句。
#import('dart:html');

class Test3D {
  CanvasElement theCanvas;
  WebGLRenderingContext gl;

  static String vertexShaderSrc = """
    attribute vec3 aVertexPosition;

    void main(void) {
      gl_Position = vec4(aVertexPosition, 1.0); 
    }  
  """;

  Test3D() {
  }

  void run() {   
    write("Hello World!");

    // Set up canvas
    theCanvas = new Element.html("<canvas></canvas>");
    theCanvas.width = 100;
    theCanvas.height = 100;
    document.body.nodes.add(theCanvas);

    // Set up context
    gl = theCanvas.getContext("experimental-webgl");
    gl.clearColor(0.5, 0.5, 0.5, 1.0);
    gl.clear(WebGLRenderingContext.COLOR_BUFFER_BIT);

    WebGLShader vertexShader = gl.createShader(WebGLRenderingContext.VERTEX_SHADER);
    gl.shaderSource(vertexShader, vertexShaderSrc);
    gl.compileShader(vertexShader);

    // Adding this line results in the error: Uncaught TypeError: Object true has no method 'dartObjectLocalStorage$getter
    var wasSuccessful = gl.getShaderParameter(vertexShader, WebGLRenderingContext.COMPILE_STATUS);   
  }

  void write(String message) {
    // the HTML library defines a global "document" variable
    document.query('#status').innerHTML = message;
  }
}

void main() {
  new Test3D().run();
}

我真的很喜欢 Dart ,如果能给我任何帮助,我将不胜感激。

这是错误的控制台输出:
Uncaught TypeError: Object true has no method 'dartObjectLocalStorage$getter'
htmlimpl0a8e4b$LevelDom$Dart.wrapObject$member
htmlimpl0a8e4b$WebGLRenderingContextWrappingImplementation$Dart.getShaderParameter$member
htmlimpl0a8e4b$WebGLRenderingContextWrappingImplementation$Dart.getShaderParameter$named
unnamedb54266$Test3D$Dart.run$member
unnamedb54266$Test3D$Dart.run$named
unnamedb54266$main$member
RunEntry.isolate$current
isolate$Isolate.run
isolate$IsolateEvent.process
isolate$doOneEventLoopIteration
next
isolate$doRunEventLoop
isolate$runEventLoop
RunEntry
(anonymous function)

最佳答案

该错误表示在 bool(boolean) 值true上,在代码的某个位置访问了字段“dartObjectLocalStorage”。给定的代码片段不包含此标识符,因此可能不对错误负责。
错误报告可能会给出错误的行号(甚至可能是错误的文件)。

要调试此:

  • 尝试在您的代码中找到对“dartObjectLocalStorage”的引用。
  • 尝试在生成的代码中找到对“dartObjectLocalStorage $ getter”的引用。
  • 在VM上运行,或使用其他编译器(frogc vs dartc)进行编译。

  • 祝好运。

    关于if-statement - 在Dart中如何使用true的返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8920176/

    相关文章:

    asp.net - aspx页面中的if语句

    javascript - HTML 5 使用 javascript 切换 contenteditable 属性

    java - 比较 2 个字符串,看看它们是否包含共同项

    java - 如何使用另一个类中一个类的 boolean 方法来检查字符串参数?

    Java:如何从字符串和整数计算答案

    flutter - 小部件的多个对象只能在Flutter中运行一次initState?

    vba - 如果找到(搜索词),则执行(操作)。如果没有,结束如果

    R - if_else 分配 na 值

    dart - 运行窗口消息 'Identical line'

    dart - 为什么 catchError 无法捕捉到错误?