angular 为select赋值时为啥不会触发ng-change
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了angular 为select赋值时为啥不会触发ng-change相关的知识,希望对你有一定的参考价值。
好奇你那么写能生成option选项么?我照你的写法测试根本没选项矮 $scope.selectValue = 某个id来设置默认选项 http://zhidao.baidu.com/question/561846503790127724 以前回答的一个关于select的。 参考技术A 跟一般的html一样啊<select>
<option ng-repeat=i in arr></option>
</select>
这样 你是问这个吗看本回答被提问者采纳
为啥路由保护 canLoad 不会触发,但 canActivate 会
【中文标题】为啥路由保护 canLoad 不会触发,但 canActivate 会【英文标题】:Why does route guard canLoad not fire, but canActivate does为什么路由保护 canLoad 不会触发,但 canActivate 会 【发布时间】:2017-02-21 23:53:57 【问题描述】:我有一个 Angular 2.0.1(最终版)应用程序,它使用 HashLocationStrategy 作为路线导航策略。
我将我的一条路线定义如下:
path: 'shiftmanage', component: ShiftManageComponent,
canLoad: [AuthGuard],
canActivate: [AuthGuard]
,
这里是 AuthGuard 类:
import Injectable from '@angular/core';
import
Route,
Router,
CanLoad,
CanActivate,
ActivatedRouteSnapshot,
RouterStateSnapshot from '@angular/router';
@Injectable()
export class AuthGuard implements CanLoad, CanActivate
constructor(private router: Router)
console.log("AuthGuard constructor")
canLoad(route: Route): boolean
if (route.path === "shifts")
return true;
else
return false;
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean
if (route.routeConfig.path === "shiftmanage")
return true;
else
return false;
然后我将这个守卫类添加到 NgModule Providers 中,如下所示:
providers: [
AuthGuard,
provide: LocationStrategy, useClass: HashLocationStrategy
... other providers
]
导航正常工作,每当我尝试导航到 shiftmanage 路径时,都会触发 canActivate 路由保护。
问题: canLoad 路由守卫永远不会被击中。
问题:
这个 canLoad 守卫没有因为 HashLocationStrategy 被击中,还是我做错了什么?
【问题讨论】:
【参考方案1】:canLoad
用于加载lazy-loaded modules和loadChildren
path: 'child',
canLoad: [AuthGuard],
loadChildren: 'path/to/child.module'
【讨论】:
好的,在仔细阅读链接的文档之后,这是有道理的,谢谢以上是关于angular 为select赋值时为啥不会触发ng-change的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Angular 2 ngOnChanges 不响应输入数组推送
为啥路由保护 canLoad 不会触发,但 canActivate 会
为啥即使 objectEquality 设置为 true,$watch 也不会触发?