我将 Angular 与 Nativescript Schematics 一起使用。我已经安装了 nativescript-ui-sidedrawer。当我跑
tns run ios --bundle
Run Code Online (Sandbox Code Playgroud)
本机版本已编译并部署到设备,但是当我运行时
ng serve
Run Code Online (Sandbox Code Playgroud)
网络版本失败,出现几个错误,都非常相似。第一个是
ERROR in ./node_modules/tns-core-modules/ui/builder/component-builder/component-builder.js
Module not found: Error: Can't resolve '../../../platform' in '/Users/markdev/Documents/Code/mydrawer/node_modules/tns-core-modules/ui/builder/component-builder'
Run Code Online (Sandbox Code Playgroud)
所有的错误都与路径有关。
如果我浏览到上面给出的错误并编辑“component-builder.js”,并将路径更改为
~/node_modules/tns-core-modules/platform
Run Code Online (Sandbox Code Playgroud)
从
../../../platform
Run Code Online (Sandbox Code Playgroud)
然后在运行“ng serve”时,该特定错误不会显示在输出的错误列表中。
但是……当我跑的时候
tns run ios --bundle
Run Code Online (Sandbox Code Playgroud)
我得到
ERROR in ../node_modules/tns-core-modules/ui/builder/component-builder/component-builder.js
Module not found: Error: Can't resolve '/Users/markdev/Documents/Code/mydrawer/src/node_modules/tns-core-modules/platform' in '/Users/markdev/Documents/Code/mydrawer/node_modules/tns-core-modules/ui/builder/component-builder'
@ ../node_modules/tns-core-modules/ui/builder/component-builder/component-builder.js 7:15-66
@ ../node_modules/tns-core-modules/ui/builder/builder.js
@ ../node_modules/tns-core-modules/ui/repeater/repeater.js
@ ../node_modules/tns-core-modules/bundle-entry-points.js
@ ./main.ns.ts
Run Code Online (Sandbox Code Playgroud)
如果我在设备上打开应用程序,我会得到
*** Terminating app due to uncaught exception 'NativeScript encountered a fatal error: Error: Cannot find module …Run Code Online (Sandbox Code Playgroud) 我有一个使用 Firebase 的 Firestore 进行持久化的应用程序。我正在使用 Material 的 Snackbar 进行通知。我在我的服务..
deleteProvider(data) {
return this.db.collection(data.table).doc('xzc').delete();
}
Run Code Online (Sandbox Code Playgroud)
其中数据参数只是一个对象,其中包含我要对其执行操作的表和我要删除的文档的 ID。
data: { table: 'providers', id: 'some firebase identifier'}
Run Code Online (Sandbox Code Playgroud)
在我的组件中
onDeleteEntry(event) {
if (event.table === 'providers') {
this.providerService.deleteProvider(event)
.then(() => {
this.snackBar.open('Provider deleted');
})
.catch((error) => {
this.snackBar.open('Error deleting provider', error);
});
}
}
Run Code Online (Sandbox Code Playgroud)
这会完美地删除文档,但在测试失败的情况时,它返回 true。
例如,如果我将 'xyz' 硬编码到 .doc('xyz') 方法中。响应调用我的 next() 方法,而不是我的 catch()。
deleteProvider(data) {
return this.db.collection(data.table).doc('xyz').delete();
} // returns true on a non-existent document
Run Code Online (Sandbox Code Playgroud)
Firebase 文档强调了这样一个事实,即删除后仍会保留嵌套集合,但除此之外,删除文档的基本功能很简单,除了
db.collection("cities").doc("DC").delete().then(function() {
console.log("Document successfully deleted!");
}).catch(function(error) { …Run Code Online (Sandbox Code Playgroud)