我想知道如何“重新加载”当前状态,传入一个新参数以便我的控制器重新初始化。
我正在尝试在我的侧边栏控件中实现搜索 - 初始搜索使用 $state.go 转换到我的新状态,代码如下:
if ($event.type === 'click' || $event.keyCode === keyCodes.enter) {
$state.go("people.search", { search: vm.searchText });
如果我在应用程序的另一个状态,然后运行上面的代码,一切都正常工作。因此,我将搜索词作为参数传递,并使用$state.go将我的状态转换到people.search状态,我的people控制器(包含搜索函数)得到命中。但是,一旦我处于people.search状态并尝试使用搜索控件,people控制器代码不再被触发,参数也不再更新。我尝试修改代码如下:
$state.go("people.search", { search: vm.searchText }, { location: "replace" });
现在当我处于当前状态时,它将使用我的新搜索条件更新网址,但控制器代码不会执行。
我需要一种方法来强制重新加载当前状态,以便更新新的搜索参数并重新运行people控制器代码。
我如何重新加载当前状态?
ui-sref
自v0.2.11(2014-08-26)以来,仅使用参数(与您的ui-sref-params
自定义指令相同)就可以很好地工作。请参见文档中的示例中的下一页链接。 - Kate Miháliková