这有点复杂所以请耐心等待。这是Plunkr来说明我的要求。
假设我有一个使用模板<tpl>
的组件tpl-1.html
。有问题的组件已经完全加载到页面上。此外,<tpl>
包含一个绑定到其他地方模型的表达式(在Plunkr中,这将是输入框)。
假设稍后我在页面仍处于打开状态时在tpl-1.html
内添加了一些内容。如果不刷新页面,我只想重新加载<tpl>
,以便将调整后的模板中的新内容呈现给页面。此外,模板中的任何绑定都不应丢失(因此在重新加载期间,tpl-1.html
中的表达式仍应绑定到输入框)。
我的问题:这可能吗?如果是这样,我将如何做到这一点?
我尝试了一种显而易见的方法,即对tpl-1.html
进行AJAX调用,替换<tpl>
中的HTML,然后继续$compile
,但这样做不起作用绑定丢失了。我还尝试直接替换<tpl>
本身,但它仍然使用旧模板。
这似乎是路由器能够做到的事情,但对于像这样的事情来说似乎有点矫枉过正。这是否可以在没有它的情况下实现(或者甚至可以实现)?