空对象没有方法[] = [英] The null object does not have a method []=
问题描述
我正在尝试运行以下示例减去pubspect.yaml中的一些差异,因为它不会立即可用。也就是说,反射必须为 0.2.0
而不是 0.1.4
,如示例链接所示。
I'm trying to run this following example minus some differences in pubspect.yaml since it doesn't run out of the box. Namely reflections needs to be 0.2.0
instead of 0.1.4
as seen on the example link.
一切都可以编译。但是我收到运行时错误。我将其跟踪到以下文件:
Everything compiles fine. However I get a runtime error. I traced it to the following file:
https://github.com/dart-lang/polymer-dart/blob/behaviors/lib/init.dart
第25行在 Dartium
浏览器中出现以下错误:
On line 25 I get the following error in the Dartium
browser:
The null object does not have a method '[]='.
NoSuchMethodError: method not found: '[]='
Receiver: null
Arguments: ["push", Closure: (List, Iterable) => dynamic]
#0 Object._noSuchMethod (dart:core-patch/object_patch.dart:42)
#1 Object.noSuchMethod (dart:core-patch/object_patch.dart:45)
#2 _setUpListMethods (package:polymer/init.dart:25:14)
#3 initPolymer.<initPolymer_async_body> (package:polymer/init.dart:17:3)
#4 _RootZone.runUnary (dart:async/zone.dart:1204)
#5 _FutureListener.handleValue (dart:async/future_impl.dart:131)
#6 _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:637)
#7 _Future._propagateToListeners (dart:async/future_impl.dart:667)
#8 _Future._completeWithValue (dart:async/future_impl.dart:477)
#9 _Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:528)
#10 _microtaskLoop (dart:async/schedule_microtask.dart:41)
#11 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50)
#12 _ScheduleImmediateHelper._handleMutation (dart:html:49308)
我的pubspec.yaml
name: myproject
dependencies:
polymer: ^1.0.0-rc
web_components: ^0.12.0
browser: ^0.10.0
reflectable: ^0.2.0
transformers:
- reflectable:
entry_points:
- web/main.dart
environment:
sdk: ">=1.2.0 <2.0.0"
dependency_overrides:
polymer:
git:
ref: behaviors
url: https://github.com/dart-lang/polymer-dart.git
polymer_interop:
git:
ref: 0.2.0-dev
url: https://github.com/dart-lang/polymer_interop.git
pubspec.lock
# Generated by pub
# See http://pub.dartlang.org/doc/glossary.html#lockfile
packages:
analyzer:
description:
name: analyzer
url: "https://pub.dartlang.org"
source: hosted
version: "0.26.4"
args:
description:
name: args
url: "https://pub.dartlang.org"
source: hosted
version: "0.13.4+2"
async:
description:
name: async
url: "https://pub.dartlang.org"
source: hosted
version: "1.11.0"
barback:
description:
name: barback
url: "https://pub.dartlang.org"
source: hosted
version: "0.15.2+8"
boolean_selector:
description:
name: boolean_selector
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.2"
browser:
description:
name: browser
url: "https://pub.dartlang.org"
source: hosted
version: "0.10.0+2"
charcode:
description:
name: charcode
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0"
cli_util:
description:
name: cli_util
url: "https://pub.dartlang.org"
source: hosted
version: "0.0.1+2"
code_transformers:
description:
name: code_transformers
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.11"
collection:
description:
name: collection
url: "https://pub.dartlang.org"
source: hosted
version: "1.9.0"
convert:
description:
name: convert
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0"
crypto:
description:
name: crypto
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.1"
csslib:
description:
name: csslib
url: "https://pub.dartlang.org"
source: hosted
version: "0.13.2"
dart_style:
description:
name: dart_style
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.1"
glob:
description:
name: glob
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.3"
html:
description:
name: html
url: "https://pub.dartlang.org"
source: hosted
version: "0.12.2+2"
http_multi_server:
description:
name: http_multi_server
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.2"
http_parser:
description:
name: http_parser
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.2"
initialize:
description:
name: initialize
url: "https://pub.dartlang.org"
source: hosted
version: "0.6.1+2"
logging:
description:
name: logging
url: "https://pub.dartlang.org"
source: hosted
version: "0.11.3"
matcher:
description:
name: matcher
url: "https://pub.dartlang.org"
source: hosted
version: "0.12.0+2"
mime:
description:
name: mime
url: "https://pub.dartlang.org"
source: hosted
version: "0.9.3"
package_config:
description:
name: package_config
url: "https://pub.dartlang.org"
source: hosted
version: "0.1.5"
path:
description:
name: path
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.9"
plugin:
description:
name: plugin
url: "https://pub.dartlang.org"
source: hosted
version: "0.1.0"
polymer:
description:
ref: behaviors
resolved-ref: "46be7836f387a8a2868507baf61940e871519986"
url: "https://github.com/dart-lang/polymer-dart.git"
source: git
version: "0.17.0-dev"
polymer_interop:
description:
ref: "0.2.0-dev"
resolved-ref: cbef534ef5d0839beeeb63f7c25f502df7e79377
url: "https://github.com/dart-lang/polymer_interop.git"
source: git
version: "0.2.0"
pool:
description:
name: pool
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.4"
pub_semver:
description:
name: pub_semver
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.0"
reflectable:
description:
name: reflectable
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.0"
shelf:
description:
name: shelf
url: "https://pub.dartlang.org"
source: hosted
version: "0.6.5+2"
shelf_static:
description:
name: shelf_static
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.4"
shelf_web_socket:
description:
name: shelf_web_socket
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.1"
source_map_stack_trace:
description:
name: source_map_stack_trace
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.4"
source_maps:
description:
name: source_maps
url: "https://pub.dartlang.org"
source: hosted
version: "0.10.1+1"
source_span:
description:
name: source_span
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.3"
stack_trace:
description:
name: stack_trace
url: "https://pub.dartlang.org"
source: hosted
version: "1.6.6"
stream_channel:
description:
name: stream_channel
url: "https://pub.dartlang.org"
source: hosted
version: "1.5.0"
string_scanner:
description:
name: string_scanner
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.0"
test:
description:
name: test
url: "https://pub.dartlang.org"
source: hosted
version: "0.12.15+1"
typed_data:
description:
name: typed_data
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.3"
unittest:
description:
name: unittest
url: "https://pub.dartlang.org"
source: hosted
version: "0.11.6+4"
utf:
description:
name: utf
url: "https://pub.dartlang.org"
source: hosted
version: "0.9.0+3"
watcher:
description:
name: watcher
url: "https://pub.dartlang.org"
source: hosted
version: "0.9.7+2"
web_components:
description:
name: web_components
url: "https://pub.dartlang.org"
source: hosted
version: "0.12.0+4"
web_socket_channel:
description:
name: web_socket_channel
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.4"
when:
description:
name: when
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.0"
which:
description:
name: which
url: "https://pub.dartlang.org"
source: hosted
version: "0.1.3"
yaml:
description:
name: yaml
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.10"
sdk: ">=1.17.0-dev.6.2 <1.20.0"
据我所知。同样,所有其他文件都与该示例相同。
That's as far as I got. Again, all the other files are identical to that example.
似乎是一个依赖问题,但我真的不知道从哪里可以运行示例。是否可以解决此错误?我知道dart-polymer仍在RC中,但我认为简单示例可以运行...
Seems to be a dependency problem but I really don't know where to go from here to make the example run. Is it possible to fix this error? I know dart-polymer is still in RC but I'd think that simple example would run...
更新
似乎未能在 polymer / init.dart
中的 setUpListMethods()
上失败,因为 context
变量数组不存在。我创建了一个断点,并且在范围内未找到上下文
。上下文在哪里声明?仍然闻起来像是一个依赖性问题。
Update
Seems to fail on setUpListMethods()
in polymer/init.dart
because context
variable array does not exist. I created a breakpoint and context
is not found within the scope. Where is context declared? It still smells like a dependency problem.
推荐答案
如果使用最新的Polymer 1.0.0-rc.x版本,则需要添加 polymer
变压器而不是 reflectable
变压器
If you use a recent Polymer 1.0.0-rc.x version you need to add the polymer
transformer instead of the reflectable
transformer
transformers:
- polymer:
entry_points:
- web/index.html
另请参见 https://github.com/ dart-lang / polymer-dart
这篇关于空对象没有方法[] =的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!