我正在尝试将$log服务用于角度2,根据我的阅读,您需要以下步骤:
所以,我做了以下几点
var initInjector = angular.injector(['ng']);
var $log = initInjector.get('$log');
angular.module('Services1', [])
.service('$log', [$log]);
upgradeAdapter.upgradeNg1Provider('$log');
Run Code Online (Sandbox Code Playgroud)
然后我创建一个角度2组件如下
@Component({ selector: "ion-app", template:"<p>Test</p>" })
@Injectable()
export class HelloIonicPage {
message: string;
constructor( @Inject('$log') $log) {
this.message = "Hi";
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我运行应用程序时,它给出了以下错误:
原始例外:没有提供$ log的提供商!
另外,我试图bootstrap使用upgradeAdapter:
upgradeAdapter.bootstrap(document.documentElement, ['Services1'])
Run Code Online (Sandbox Code Playgroud)
但那也行不通.请注意,我正在使用Ionic 2框架,上面的代码是在里面写的
this.platform.ready().then(() => {
//The code is going here
});
Run Code Online (Sandbox Code Playgroud) 我有一个使用angularfire2的工作身份验证,我只是想知道是否有另一种方法来检查用户最近登录后是否验证用户是否在服务器上?我这样做是这样的
isAuthenticated():boolean{
this.af.auth.subscribe(data => {
if(data ){
// User is authenticated
return true;
}
});
}
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏
编辑1:
我决定仍然使用原始代码来检查用户是否最近登录.当你在应用程序启动时没有检查用户时,@ cartant建议的是足够的,因为它可能会返回null,如firebase官方所述文档.我在这里使用它的方式是我有菜单项只应该向经过身份验证的用户显示,并且使用firebase.auth().currentUser将始终在页面的初始加载时返回null.
我已经尝试过搜索高低的答案,但希望有人能够迅速回答这个问题.
我有一个Angular 2应用程序,我正在使用Typescript接口来帮助构建各种数据位.问题是我有一个带有多个接口的文件,当我尝试将其导入组件时,可以毫无问题地引用第一个接口,但第二个接口会导致错误.
例如 ...
myapp.model.ts
export interface IObjectA { id: number; name: string; }
export interface IObjectB { id: number; related: IObjectA[]; }
myapp.component.ts
import { IObjectB } from './myapp.model';
Run Code Online (Sandbox Code Playgroud)
这导致Angular CLI编译器失败并显示错误...
... myapp.model.ts is not a module ...
Run Code Online (Sandbox Code Playgroud)
我似乎无法解决如何解决这个问题.我确定我错过了一些非常明显的东西,但你知道他们对第二双眼睛的看法.
我是ng-boostrap 的新手,并遵循了 他们的入门指南。这是代码的重要部分。
import {NgbModule} from '@ng-bootstrap/ng-bootstrap';
...
@NgModule({
imports: [
NgbModule.forRoot(),
...
],
Run Code Online (Sandbox Code Playgroud)
即使我没有使用它,ng-bootstrap 是否会导入所有组件,如 ngb-carousel、ngb-progressbar 等?
还有另一个引导库ngx-bootstrap可以像这样导入每个组件
import { ModalModule } from 'ngx-bootstrap/modal';
@NgModule({
imports: [ModalModule.forRoot(),
...]
})
export class AppModule(){}
Run Code Online (Sandbox Code Playgroud)
这也是您导入类似角度材料的组件模块的方式
任何人都可以对此有所了解吗?
我在本地为我的开发提供 Bootstrap 框架。目前,我这样做的方式是像这样在 angular-cli.json 中添加我的引导程序
"styles": [
"../node_modules/bootstrap/dist/css/bootstrap.min.css",
"styles.css"
],
Run Code Online (Sandbox Code Playgroud)
顺便说一句,我用
ng build --prod
在制作我的生产版本时。
当我为生产构建 CDN 时,是否有一个快速而好的技巧来使用它?虽然我可以通过在我的 index.html 中手动添加一个引导 CDN 并在 angular-cli.json 中删除一个来实现这一点。我只是想知道你们是怎么做到的。
angular ×5
angular-cli ×2
angularfire2 ×1
angularjs ×1
firebase ×1
ionic2 ×1
javascript ×1
ng-bootstrap ×1
ng-upgrade ×1