我在 Mac 环境下成功创建了一个 angular 项目
Angular CLI: 7.0.5
Node: 8.11.3
OS: darwin x64
Angular: 7.0.3
Run Code Online (Sandbox Code Playgroud)
现在我在 ubuntu 18.04 上使用设置运行相同的代码
Angular CLI: 7.3.9
Node: 12.9.1
OS: linux x64
Angular: 7.2.15
Run Code Online (Sandbox Code Playgroud)
但是在尝试延迟加载另一个模块时出现了一个非常奇怪的问题,我不断收到此错误错误:找不到模块“app/website/site.module”
这是我的项目结构
和 app-routing.module.ts
const routes: Routes = [
{
path: 'site',
loadChildren: 'app/website/site.module#SiteModule',
}
]
Run Code Online (Sandbox Code Playgroud)
路由用于在mac中工作但在ubuntu中失败
我查了一个不同的解决方案
const rootRoutes: Routes = [
{ path: 'site', loadChildren: './website/site.module#SiteModule' }
];
Run Code Online (Sandbox Code Playgroud)
但它仍然无法正常工作。
为什么我们在构造函数中注入服务作为这样的参数?
import { HeroService } from '../hero.service';
constructor(private heroService: HeroService) { }
Run Code Online (Sandbox Code Playgroud)
与其作为参数传递,不如我们在构造函数中注入:
import { HeroService } from '../hero.service';
constructor() {
this.heroService=HeroService;
}
Run Code Online (Sandbox Code Playgroud)
是否可以按照上述方式进行?
设置元素value不起作用。它不像用户打字。当我提交此输入时,弹出窗口告诉我我根本没有填写输入。我怎样才能像用户一样填充这个输入元素?
<div class="login-input input-group" data-ng-class="{'invalid' : !valid}">
<input id="alias-input" type="text" class="form-control ng-pristine ng-valid ng-empty ng-valid-maxlength ng-touched" tabindex="1" data-ng-model="formData.alias" data-ng-keydown="sendAlias($event)" maxlength="10" data-gemius-event="click" data-gemius-parameters="['place=login','inputbox=login','met=onclick']"
spellcheck="false">
</div>
Run Code Online (Sandbox Code Playgroud)
我试过:
angular.element(document.querySelector("#alias-input")).val("foo");
document.getElementById('alias-input').value = 'foo';
在下面的代码中,当我添加填充时,它应该添加到宽度,因为我正在使用border-box. 但它不起作用,为什么?谁能帮我。
如果我添加一些边距或填充,我child__wrapper会被推入新行,为什么?
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
.wrapper {
display: flex;
flex-wrap: wrap;
margin: 0;
padding: 0;
width: 100%;
}
.child__wrapper {
height: 300px;
flex: 0 0 33.3%;
margin: 10px;
box-sizing: border-box;
background: rebeccapurple;
}Run Code Online (Sandbox Code Playgroud)
<div class="wrapper">
<div class="child__wrapper">1</div>
<div class="child__wrapper">2</div>
<div class="child__wrapper">3</div>
<div class="child__wrapper">4</div>
<div class="child__wrapper">5</div>
<div class="child__wrapper">6</div>
<div class="child__wrapper">7</div>
<div class="child__wrapper">8</div>
<div class="child__wrapper">9</div>
</div>Run Code Online (Sandbox Code Playgroud)
我正在 Angular 中创建动态反应形式。但是在下面的代码中, level.name 不被接受,因为编译器不允许在 group() 内给出变量。它只允许固定值,如 - state、city 等而不是 level.name 变量,其中 level 是一个具有 name 字段的对象......
this.countryNextLevelsBeforeMan.forEach(**level** => {
let l2 =<FormArray> this.l1FormGroup2.controls["l2"];
l2.push(this.formBuilder.group({
**level.name** : null --> compilation error on this line as variable not getting allowed
}))
});
Run Code Online (Sandbox Code Playgroud)
在 group 方法中,我想将控件名称作为变量 (level.name)。在 for 循环中,如果 level 是 {"name" : "State" , "id" : 2} 然后我想像下面那样设置它,
l2.push(this.formBuilder.group({
**State** : null --> No compilation error if we give fixed value
}))
Run Code Online (Sandbox Code Playgroud)
(而不是 'State' 我希望它由 level.name 动态分配,因为 level.name 可以是 City、Street 等)
请帮忙!!!