小编ank*_*usu的帖子

为什么即使我们在 Angular 中没有子路由,ChildActivationStart 事件也会触发?

我为 Angular 项目定义了一个路由器。我的路由器配置如下:

export const routes: Routes = [
  {
    path: '',
    component: AppComponent,
  },
  {
    path: 'hello',
    component: HelloComponent,
  },
];

export const routing: ModuleWithProviders = RouterModule.forRoot(routes, { enableTracing: true });
Run Code Online (Sandbox Code Playgroud)

当我运行该项目时,我看到路由器生命周期事件按以下顺序触发:

  1. 导航开始,
  2. 路由器认可,
  3. 警卫检查开始,
  4. 子激活开始,<-----
  5. 激活开始,
  6. 警卫检查端,
  7. 解决开始,
  8. 解决结束,
  9. 激活结束,
  10. 子激活结束,<-----
  11. 导航结束

在此列表中,我还看到了“儿童激活开始”和“儿童激活结束”事件。但是,我没有子路线。为什么这些事件无论如何都会触发?

要查看正在运行的路由器事件,请检查以下链接的控制台输出:

https://stackblitz.com/edit/angular-khjkwg?file=app%2Fapp.routing.ts

谢谢。

angular angular-router

5
推荐指数
0
解决办法
1016
查看次数

如何从 Chromium 控制台定义 javascript 函数

我正在尝试在 Chromium 浏览器调试器控制台中定义一个 Javascript 函数或一个简单的变量。定义后,当我无法达到此功能时。它会有什么问题?

下面是我在chromium控制台上写的变量和函数定义:

var myvar;

var f = function(){
   console.log("Hello world");
};

function f2(){
   console.log("Hello world");
};
Run Code Online (Sandbox Code Playgroud)

顺便说一下,我可以访问我在 Mozilla Firefox 浏览器中创建的功能。

Chromium 浏览器有什么问题?

javascript firefox jquery chromium

4
推荐指数
1
解决办法
1万
查看次数

如何在"模糊"事件触发前触发"提交"事件?

我有一个表单,其中包含错误消息,如下例所示:

http://codepen.io/anon/pen/dYWyEM?editors=101

重现问题的步骤如下:

打开codepen链接后,

1)关注输入字段

2)按提交按钮

3)由于首先触发模糊事件,因此首先隐藏错误消息,从而改变提交按钮的位置.因此,点击事件根本没有注册,我需要再次点击提交表格.

有没有办法先发送提交事件?

不知何故,我需要检测触发模糊事件的目标.这似乎relatedTarget使我们能够找出触发模糊事件的元素.但是,这在Firefox中不起作用.

有没有办法在所有浏览器中找出relatedTarget?

javascript forms jquery javascript-events

4
推荐指数
1
解决办法
713
查看次数

如何在动态创建的SVG元素上编译指令

我正在尝试将上下文菜单指令添加到动态创建的SVG元素中.

在AngularJS控制器中,我将svg定义如下:

var svg = d3.select("#svg-canvas").append("svg")
    .attr("width", 100)
    .attr("height", 100)
    .style("pointer-events", "all")
    .append('g');
Run Code Online (Sandbox Code Playgroud)

后来,我在下面添加了一个矩形.请注意,我添加了一个"ng-context-menu"属性,我的AngularJS指令.

svg.append("rect")
.attr("x", 35)
.attr("y", 15)
.attr("width", 20)
.attr("height", 20)
.attr("ng-context-menu", "")
.style("fill", "gray");
Run Code Online (Sandbox Code Playgroud)

我在加载DOM之后添加了这段代码,因此,这段代码不是用AngularJS编译的.这意味着上下文菜单没有绑定到元素.

我在JSFiddle中添加完整的工作代码,以防你想检查:)

你有什么建议让它起作用吗?我需要为它创建一个指令吗?

svg d3.js angularjs

3
推荐指数
1
解决办法
1932
查看次数

'-setValue:forKey:'更新NSMutableDictionary的字段时的异常

我有两个名为"dict"和newdict的NSMutableDictionary对象.然后尝试将newdict分配给"myfield1"字段.但是,我正面临一个错误.

NSMutableDictionary *dict = @{ @"myfield1" : @{  @"subfield1" : @"mysubfield1" ,
                                           @"subfield2" : @"mysubfield2" },
                              @"myfield2": @"myfield2",
                              @"myfield3": @"myfield3"};
NSMutableDictionary *newdict =  @{  @"subfield1" : @"mynewsubfield1" ,
                                    @"subfield2" : @"mynewsubfield2" };

[dict setValue:newdict forKey:@"myfield1"];
Run Code Online (Sandbox Code Playgroud)

错误:

*** Terminating app due to uncaught exception 'NSUnknownKeyException', 
reason: '[<__NSDictionaryI 0x17db3bb0> setValue:forUndefinedKey:]: 
this class is not key value coding-compliant for the key loc.'
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?

iphone objective-c ios

0
推荐指数
1
解决办法
301
查看次数