Closed danielgek closed 7 years ago
@triniwiz any new on this ? can you point me in any direction to fix this xD not an expert on ios?
does it crash on 3.1.0 or 3.1.1?
right now i have tns-core-modules@3.1.0 ios runtime @ 3.1.0, will test with tns-core-modules@3.1.1 shortly
i meant nativescript-angular
nativescript-angular is on 3.1.3
try a lower version 🙂
On nativescript-angular@ 3.1.2 and 3.1.3 i got the error above when clicking on button/ exiting the page
On nativescript-angular@3.1.1 and 3.1.0
TypeError: rootLocator is not a function. (In 'rootLocator(viewRef.rootNodes, 0)', 'rootLocator' is undefined)
(wut ? never seen this one before) i get this error as soon as its rendered
do you want a simple project demonstrating this ?
the demo-ng in the repo
i will test with demo-ng all the versions above and report back
Ok, so on demo-ng:
CONSOLE ERROR [native code]: ERROR TypeError: undefined is not an object (evaluating 'v.context.item.title')
CONSOLE ERROR [native code]: ERROR CONTEXT [object Object]
CONSOLE ERROR [native code]: ERROR TypeError: undefined is not an object (evaluating 'v.context.item.title')
CONSOLE ERROR [native code]: ERROR CONTEXT [object Object]
CONSOLE ERROR file:///app/tns_modules/@angular/core/./bundles/core.umd.js:1091:24: ERROR Error: Uncaught (in promise): TypeError: rootLocator is not a function. (In 'rootLocator(viewRef.rootNodes, 0)', 'rootLocator' is undefined)
getItemViewRoot@file:///app/tns_modules/nativescript-pager/angular/index.js:14:31
itemsLoading@file:///app/tns_modules/nativescript-pager/angular/index.js:88:40
notify@file:///app/tns_modules/tns-core-modules/data/observable/observable.js:100:37
notifyForItemAtIndex@file:///app/tns_modules/nativescript-pager/src/ios/pager.js:12:17
getViewController@file:///app/tns_modules/nativescript-pager/src/ios/pager.js:88:49
_initNativeViewPager@file:///app/tns_modules/nativescript-pager/src/ios/pager.js:164:48
updateNativeItems@file:///app/tns_modules/nativescript-pager/src/ios/pager.js:73:38
onItemsChanged@file:///app/tns_modules/nativescript-pager/src/common.js:51:32
set@file:///app/tns_modules/tns-core-modules/ui/core/properties/properties.js:91:37
set@file:///app/tns_modules/nativescript-pager/angular/index.js:60:23
updateProp@file:///app/tns_modules/@angular/core/./bundles/core.umd.js:11088:26
checkAndUpdateDirectiveInline@file:///app/tns_modules/@angular/core/./bundles/core.umd.js:10780:29
checkAndUpdateNodeInline@file:///app/tns_modules/@angular/core/./bundles/core.umd.js:12245:46
debugCheckAndUpdateNode@file:///app/tns_modules/@angular/core/./bundles/core.umd.js:12887:64
debugCheckDirectivesFn@file:///app/tns_modules/@angular/core/./bundles/core.umd.js:12828:36
checkAndUpdateView@file:///app/tns_modules/@angular/core/./bundles/core.umd.js:12151:30
callViewAction@file:///app/tns_modules/@angular/core/./bundles/core.umd.js:12514:39
execComponentViewsAction@file:///app/tns_modules/@angular/core/./bundles/core.umd.js:12446:27
checkAndUpdateView@file:///app/tns_modules/@angular/core/./bundles/core.umd.js:12157:29
callWithDebugContext@file:///app/tns_modules/@angular/core/./bundles/core.umd.js:13213:47
detectChanges@file:///app/tns_modules/@angular/core/./bundles/core.umd.js:10225:81
activateOnGoForward@file:///app/tns_modules/nativescript-angular/router/page-router-outlet.js:155:70
activateWith@file:///app/tns_modules/nativescript-angular/router/page-router-outlet.js:140:37
placeComponentIntoOutlet@file:///app/tns_modules/@angular/router/./bundles/router.umd.js:4526:28
activateRoutes@file:///app/tns_modules/@angular/router/./bundles/router.umd.js:4507:50
file:///app/tns_modules/@angular/router/./bundles/router.umd.js:4443:72
forEach@[native code]
activateChildRoutes@file:///app/tns_modules/@angular/router/./bundles/router.umd.js:4443:36
activate@file:///app/tns_modules/@angular/router/./bundles/router.umd.js:4417:33
file:///app/tns_modules/@angular/router/./bundles/router.umd.js:4034:30
file:///app/tns_modules/rxjs/Observable.js:97:25
__tryOrSetError@file:///app/tns_modules/rxjs/Subscriber.js:232:20
next@file:///app/tns_modules/rxjs/Subscriber.js:174:42
_next@file:///app/tns_modules/rxjs/Subscriber.js:125:30
next@file:///app/tns_modules/rxjs/Subscriber.js:89:23
_next@file:///app/tns_modules/rxjs/operator/map.js:83:30
next@file:///app/tns_modules/rxjs/Subscriber.js:89:23
notifyNext@file:///app/tns_modules/rxjs/operator/mergeMap.js:143:34
_next@file:///app/tns_modules/rxjs/InnerSubscriber.js:23:31
next@file:///app/tns_modules/rxjs/Subscriber.js:89:23
_next@file:///app/tns_modules/rxjs/operator/map.js:83:30
next@file:///app/tns_modules/rxjs/Subscriber.js:89:23
_subscribe@file:///app/tns_modules/rxjs/observable/ScalarObservable.js:49:28
subscribe@file:///app/tns_modules/rxjs/Observable.js:45:37
subscribe@file:///app/tns_modules/rxjs/Observable.js:42:26
_innerSub@file:///app/tns_modules/rxjs/operator/mergeMap.js:130:55
_tryNext@file:///app/tns_modules/rxjs/operator/mergeMap.js:127:23
_next@file:///app/tns_modules/rxjs/operator/mergeMap.js:110:26
next@file:///app/tns_modules/rxjs/Subscriber.js:89:23
notifyNext@file:///app/tns_modules/rxjs/operator/mergeMap.js:143:34
_next@file:///app/tns_modules/rxjs/InnerSubscriber.js:23:31
next@file:///app/tns_modules/rxjs/Subscriber.js:89:23
_next@file:///app/tns_modules/rxjs/operator/map.js:83:30
next@file:///app/tns_modules/rxjs/Subscriber.js:89:23
_complete@file:///app/tns_modules/rxjs/operator/reduce.js:116:34
complete@file:///app/tns_modules/rxjs/Subscriber.js:114:27
_complete@file:///app/tns_modules/rxjs/operator/mergeMap.js:135:38
complete@file:///app/tns_modules/rxjs/Subscriber.js:114:27
_subscribe@file:///app/tns_modules/rxjs/observable/ArrayObservable.js:116:32
subscribe@file:///app/tns_modules/rxjs/Observable.js:45:37
subscribe@file:///app/tns_modules/rxjs/Observable.js:42:26
subscribe@file:///app/tns_modules/rxjs/Observable.js:42:26
subscribe@file:///app/tns_modules/rxjs/Observable.js:42:26
_innerSub@file:///app/tns_modules/rxjs/operator/mergeMap.js:130:55
_tryNext@file:///app/tns_modules/rxjs/operator/mergeMap.js:127:23
_next@file:///app/tns_modules/rxjs/operator/mergeMap.js:110:26
next@file:///app/tns_modules/rxjs/Subscriber.js:89:23
notifyNext@file:///app/tns_modules/rxjs/operator/mergeMap.js:143:34
_next@file:///app/tns_modules/rxjs/InnerSubscriber.js:23:31
next@file:///app/tns_modules/rxjs/Subscriber.js:89:23
_next@file:///app/tns_modules/rxjs/operator/map.js:83:30
next@file:///app/tns_modules/rxjs/Subscriber.js:89:23
notifyNext@file:///app/tns_modules/rxjs/operator/mergeMap.js:143:34
_next@file:///app/tns_modules/rxjs/InnerSubscriber.js:23:31
next@file:///app/tns_modules/rxjs/Subscriber.js:89:23
notifyComplete@file:///app/tns_modules/rxjs/operator/every.js:53:30
_complete@file:///app/tns_modules/rxjs/operator/every.js:70:28
complete@file:///app/tns_modules/rxjs/Subscriber.js:114:27
_complete@file:///app/tns_modules/rxjs/operator/mergeMap.js:135:38
complete@file:///app/tns_modules/rxjs/Subscriber.js:114:27
_subscribe@file:///app/tns_modules/rxjs/observable/ArrayObservable.js:116:32
subscribe@file:///app/tns_modules/rxjs/Observable.js:45:37
subscribe@file:///app/tns_modules/rxjs/Observable.js:42:26
subscribe@file:///app/tns_modules/rxjs/Observable.js:42:26
_innerSub@file:///app/tns_modules/rxjs/operator/mergeMap.js:130:55
_tryNext@file:///app/tns_modules/rxjs/operator/mergeMap.js:127:23
_next@file:///app/tns_modules/rxjs/operator/mergeMap.js:110:26
next@file:///app/tns_modules/rxjs/Subscriber.js:89:23
notifyComplete@file:///app/tns_modules/rxjs/operator/every.js:53:30
_complete@file:///app/tns_modules/rxjs/operator/every.js:70:28
complete@file:///app/tns_modules/rxjs/Subscriber.js:114:27
_complete@file:///app/tns_modules/rxjs/operator/mergeMap.js:135:38
complete@file:///app/tns_modules/rxjs/Subscriber.js:114:27
_subscribe@file:///app/tns_modules/rxjs/observable/ArrayObservable.js:116:32
subscribe@file:///app/tns_modules/rxjs/Observable.js:45:37
subscribe@file:///app/tns_modules/rxjs/Observable.js:42:26
subscribe@file:///app/tns_modules/rxjs/Observable.js:42:26
subscribe@file:///app/tns_modules/rxjs/Observable.js:42:26
subscribe@file:///app/tns_modules/rxjs/Observable.js:42:26
_innerSub@file:///app/tns_modules/rxjs/operator/mergeMap.js:130:55
_tryNext@file:///app/tns_modules/rxjs/operator/mergeMap.js:127:23
_next@file:///app/tns_modules/rxjs/operator/mergeMap.js:110:26
next@file:///app/tns_modules/rxjs/Subscriber.js:89:23
_next@file:///app/tns_modules/rxjs/operator/map.js:83:30
next@file:///app/tns_modules/rxjs/Subscriber.js:89:23
notifyNext@file:///app/tns_modules/rxjs/operator/mergeMap.js:143:34
_next@file:///app/tns_modules/rxjs/InnerSubscriber.js:23:31
next@file:///app/tns_modules/rxjs/Subscriber.js:89:23
_next@file:///app/tns_modules/rxjs/operator/map.js:83:30
next@file:///app/tns_modules/rxjs/Subscriber.js:89:23
_subscribe@file:///app/tns_modules/rxjs/observable/ScalarObservable.js:49:28
subscribe@file:///app/tns_modules/rxjs/Observable.js:45:37
subscribe@file:///app/tns_modules/rxjs/Observable.js:42:26
_innerSub@file:///app/tns_modules/rxjs/operator/mergeMap.js:130:55
_tryNext@file:///app/tns_modules/rxjs/operator/mergeMap.js:127:23
_next@file:///app/tns_modules/rxjs/operator/mergeMap.js:110:26
15:16:49 - Compilation complete. Watching for file changes.
1 0x108cc86db NativeScript::FFICallback<NativeScript::ObjCMethodCallback>::ffiClosureCallback(ffi_cif*, void*, void**, void*)
2 0x10939d11e ffi_closure_unix64_inner
3 0x10939da52 ffi_closure_unix64
4 0x10a0c35e0 -[UIViewController __viewDidDisappear:]
5 0x10a0c36d4 -[UIViewController _endAppearanceTransition:]
6 0x10a0f8865 -[UINavigationController navigationTransitionView:didEndTransition:fromView:toView:]
7 0x10a0ee2d4 __49-[UINavigationController _startCustomTransition:]_block_invoke
8 0x10aa49d1c -[_UIViewControllerTransitionContext completeTransition:]
9 0x109f023c0 __53-[_UINavigationParallaxTransition animateTransition:]_block_invoke.99
10 0x109fd3024 -[UIViewAnimationBlockDelegate _didEndBlockAnimation:finished:context:]
11 0x109fa6257 -[UIViewAnimationState sendDelegateAnimationDidStop:finished:]
12 0x109fa6796 -[UIViewAnimationState animationDidStop:finished:]
13 0x10e8d768e CA::Layer::run_animation_callbacks(void*)
14 0x10d2da792 _dispatch_client_callout
15 0x10d2c2247 _dispatch_main_queue_callback_4CF
16 0x10cd73909 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__
17 0x10cd39ae4 __CFRunLoopRun
18 0x10cd39016 CFRunLoopRunSpecific
19 0x10e106a24 GSEventRunModal
20 0x109f1a134 UIApplicationMain
21 0x10939d8ad ffi_call_unix64
22 0x127df62c0
file:///app/tns_modules/tns-core-modules/ui/core/view-base/view-base.js:470:142: JS ERROR Error: View not added to this instance. View: GridLayout(27) CurrentParent: Pager(12) ExpectedParent: GridLayout(10)
so for 3.1.0 you will need 5.0.0 of the plugin and for the other versions u need the latest
yeah the thing is i actually need the 3.1.0 and 3.1.1 version on my app because of some fixies on these versions xD
@triniwiz i'm done with this for today :/
right now i think i know what is happening but don't really have sure:
i enabled trace
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: Page(2)._addView(ActionBar(3), undefined)
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: Frame(1)._addView(Page(2), undefined)
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: [object WeakRef] viewDidLayoutSubviews, isLoaded = true
Aug 9 18:57:33 --- last message repeated 1 time ---
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: Page(2) viewDidLayoutSubviews, isLoaded = true
Aug 9 18:57:33 --- last message repeated 3 times ---
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: Page(2)._addView(ProxyViewContainer(4), undefined)
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: Native: Adding ProxyViewContainer(4) to Page(2)
CONSOLE LOG file:///app/tns_modules/@angular/core/./bundles/core.umd.js:3053:20: Angular is running in the development mode. Call enableProdMode() to enable the production mode.
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: Page(2) viewDidLayoutSubviews, isLoaded = true
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: Page(2)._removeView(ActionBar(3))
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: Page(2)._addView(ActionBar(7), undefined)
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: ProxyViewContainer(6)._addView(GridLayout(10), undefined)
CONSOLE LOG file:///app/tns_modules/nativescript-pager/src/ios/pager.js:264:20: presentationCountForPageViewController: false
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: GridLayout(10)._addView(Pager(12), undefined)
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: GridLayout(10)._addView(DockLayout(17), undefined)
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: DockLayout(17)._addView(Button(19), undefined)
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: DockLayout(17)._addView(Button(21), undefined)
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: DockLayout(17)._addView(Button(23), undefined)
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: Page(2)._removeView(ProxyViewContainer(4))
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: Page(2)._addView(ProxyViewContainer(6), undefined)
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: ViewContainer._addViewToNativeVisualTree for a child GridLayout(10) ViewContainer.parent: Page(2)
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: ProxyViewContainer._addViewToNativeVisualTree at: undefined base: 0 additional: 0
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: Native: Removing ProxyViewContainer(4) from Page(2)
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: Native: Adding ProxyViewContainer(6) to Page(2)
CONSOLE LOG file:///app/tns_modules/nativescript-pager/src/ios/pager.js:71:20: Pager.updateNativeItems: 10
CONSOLE LOG file:///app/tns_modules/nativescript-pager/src/ios/pager.js:81:20: Pager.getViewController: 0
CONSOLE LOG file:///app/tns_modules/nativescript-pager/src/ios/pager.js:88:24: - created new PagerView
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: GridLayout(27)._addView(Label(29), undefined)
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: GridLayout(27)._addView(Image(31), undefined)
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: GridLayout(10)._addView(GridLayout(27), 1)
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: GridLayout(10)._removeView(GridLayout(27))
CONSOLE LOG file:///app/tns_modules/nativescript-pager/src/ios/pager.js:107:24: Pager._addView for index: 0
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: Pager(12)._addView(GridLayout(27), undefined)
CONSOLE LOG file:///app/tns_modules/nativescript-pager/src/ios/pager.js:115:20: Pager.prepareView
CONSOLE LOG file:///app/tns_modules/nativescript-pager/src/ios/pager.js:291:20: PagerView.didMoveToParentViewController
CONSOLE LOG file:///app/tns_modules/nativescript-pager/src/ios/pager.js:264:20: presentationCountForPageViewController: false
CONSOLE LOG file:///app/tns_modules/nativescript-pager/src/ios/pager.js:124:20: Pager.onMeasure: 1073742574x1073742900
CONSOLE LOG file:///app/tns_modules/nativescript-pager/src/ios/pager.js:133:20: Pager.onMeasure - measureChild = (750x1076)
CONSOLE LOG file:///app/tns_modules/nativescript-pager/src/ios/pager.js:141:20: Pager.onLayout 0, 0, 750, 1076
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: Page(2) viewDidLayoutSubviews, isLoaded = true
CONSOLE LOG file:///app/tns_modules/nativescript-pager/src/ios/pager.js:264:20: presentationCountForPageViewController: false
Aug 9 18:57:33 --- last message repeated 1 time ---
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: [object WeakRef] viewDidLayoutSubviews, isLoaded = true
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: Page(2) viewDidLayoutSubviews, isLoaded = true
CONSOLE LOG file:///app/tns_modules/nativescript-pager/src/ios/pager.js:264:20: presentationCountForPageViewController: false
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: ProxyViewContainer(35)._addView(Placeholder(36), undefined)
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: ProxyViewContainer(37)._addView(StackLayout(39), undefined)
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: StackLayout(39)._addView(Label(41), undefined)
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: Page(34)._addView(ProxyViewContainer(37), undefined)
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: Native: Adding ProxyViewContainer(37) to Page(34)
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: Page(34)._addView(ActionBar(44), undefined)
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: Frame(1)._addView(Page(34), undefined)
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: ViewContainer._addViewToNativeVisualTree for a child StackLayout(39) ViewContainer.parent: Page(34)
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: ProxyViewContainer._addViewToNativeVisualTree at: undefined base: 0 additional: 0
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: [object WeakRef] viewDidLayoutSubviews, isLoaded = true
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: Page(34) viewDidLayoutSubviews, isLoaded = true
Aug 9 18:57:39 --- last message repeated 1 time ---
CONSOLE LOG file:///app/tns_modules/tns-core-modules/trace/trace.js:156:28: ViewHierarchy: GridLayout(10)._removeView(GridLayout(27))
As you can see in the last line and looking at the xml from test.component the framework is trying to remove the inner GridLayout from the outer GridLayout, but it should be removed from the Pager
i'm thinking maybe it's related with the fact that this.nativeView.owner
on Page is never setted but i'm probably wrong xD
Hello @triniwiz and @danielgek
I'm having the same problem after updating a project to NS3, any hint on how to solve it? Tried the different version but it doesn't seem to have any effect...
Thanks
How to reproduce: When you navigate from one page with a pager to another page crashes with this log:
nativescript-angular@3.1.3