Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 为什么ui sref=';探戈:新&x27;向/tangos/new发送请求(复数)?_Angularjs_State_Angular Ui Router - Fatal编程技术网

Angularjs 为什么ui sref=';探戈:新&x27;向/tangos/new发送请求(复数)?

Angularjs 为什么ui sref=';探戈:新&x27;向/tangos/new发送请求(复数)?,angularjs,state,angular-ui-router,Angularjs,State,Angular Ui Router,HTML <a ui-sref='tango::new'>Create Tango</a> 这是我单击链接时发出的请求: GET http://localhost:3000/tangos/new 为什么会这样?我怎样才能阻止它发生 有 这里的要点(尽管有一个不寻常的状态名称tango::new-它仍然绝对有效)是:状态定义的顺序: 第一个(越早)必须定义得越具体,第二个(越晚)必须定义得越一般 因此,这应该是正确的顺序: .state('tango::new', {

HTML

<a ui-sref='tango::new'>Create Tango</a>
这是我单击链接时发出的请求:

GET http://localhost:3000/tangos/new
为什么会这样?我怎样才能阻止它发生

这里的要点(尽管有一个不寻常的状态名称tango::new-它仍然绝对有效)是:状态定义的顺序:

第一个(越早)必须定义得越具体,第二个(越晚)必须定义得越一般

因此,这应该是正确的顺序:

.state('tango::new', {
  url: '/tango/new',
  templateUrl: 'states/tangos/tango.html',
  controller: 'TangoController as vm'
})

.state('tango', {
  url: '/tango/:id',
  templateUrl: 'states/tangos/tango.html',
  controller: 'TangoController as vm'
})
按照此顺序,这些链接将起作用:

//ui-sref
<a ui-sref='tango({id:1})'>tango({id:1})
<a ui-sref='tango({id:22})'>tango({id:22})
<a ui-sref='tango::new'>Create Tango

//href
<a href="#/tango/333">
<a href="#/tango/4444">
<a href="#/tango/new">
//ui-sref

从未见过路由器中使用的符号。你在什么地方找到记录了吗?我自己编的,据我所知,它不是ui路由器的一部分。编语法肯定会产生意想不到的结果。阻止它发生的答案是使用有效的语法使用
tango new
而不是
tango::new
会导致相同的问题(我之所以使用
是因为语法指示名称空间,这就是我正在使用的名称空间)。创建一个演示,对嵌套状态使用点,而不是
修复了它-谢谢!我只是查了一下,所以我现在明白了,但是你可能想在你的答案中包括,当你转到一个url时,ui路由器会查找url并激活相应的状态(我不知道这一点;我认为所有的查找都是按状态名进行的,顺序无关紧要)。
//ui-sref
<a ui-sref='tango({id:1})'>tango({id:1})
<a ui-sref='tango({id:22})'>tango({id:22})
<a ui-sref='tango::new'>Create Tango

//href
<a href="#/tango/333">
<a href="#/tango/4444">
<a href="#/tango/new">