Angularjs 为什么ui sref=';探戈:新&x27;向/tangos/new发送请求(复数)?
HTMLAngularjs 为什么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', {
<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">