空对象没有方法 []=
The null object does not have a method []=
我正在尝试 运行 以下 example 减去 pubspect.yaml 中的一些差异,因为它没有 运行 开箱即用。即反射需要 0.2.0
而不是 0.1.4
,如示例 link.
所示
编译一切正常。但是我收到 运行 时间错误。我追踪到以下文件:
https://github.com/dart-lang/polymer-dart/blob/behaviors/lib/init.dart
在第 25 行,我在 Dartium
浏览器中收到以下错误:
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"
就我所知。同样,所有其他文件都与该示例相同。
似乎是一个依赖性问题,但我真的不知道从哪里开始做这个例子运行。是否可以修复此错误?我知道 dart-polymer 仍在 RC 中,但我认为这个简单的例子会 运行...
更新
似乎在 polymer/init.dart
中的 setUpListMethods()
上失败,因为 context
变量数组不存在。我创建了一个断点,但在范围内找不到 context
。在哪里声明上下文?它仍然闻起来像一个依赖问题。
如果您使用最新的 Polymer 1.0.0-rc.x 版本,您需要添加 polymer
转换器而不是 reflectable
转换器
transformers:
- polymer:
entry_points:
- web/index.html
我正在尝试 运行 以下 example 减去 pubspect.yaml 中的一些差异,因为它没有 运行 开箱即用。即反射需要 0.2.0
而不是 0.1.4
,如示例 link.
编译一切正常。但是我收到 运行 时间错误。我追踪到以下文件:
https://github.com/dart-lang/polymer-dart/blob/behaviors/lib/init.dart
在第 25 行,我在 Dartium
浏览器中收到以下错误:
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"
就我所知。同样,所有其他文件都与该示例相同。
似乎是一个依赖性问题,但我真的不知道从哪里开始做这个例子运行。是否可以修复此错误?我知道 dart-polymer 仍在 RC 中,但我认为这个简单的例子会 运行...
更新
似乎在 polymer/init.dart
中的 setUpListMethods()
上失败,因为 context
变量数组不存在。我创建了一个断点,但在范围内找不到 context
。在哪里声明上下文?它仍然闻起来像一个依赖问题。
如果您使用最新的 Polymer 1.0.0-rc.x 版本,您需要添加 polymer
转换器而不是 reflectable
转换器
transformers:
- polymer:
entry_points:
- web/index.html