1

我有一个模板,我想在我的应用程序的许多部分中使用它。该模板包含分配了模型的选择框。

我通过ng-include.

<span ng-include="'templateWorking'" ng-init="selectModel=data.field"></span>

然后在模板中:

<script type="text/ng-template" id="templateWorking">
   <select ng-model="selectModel">
  <option value="Test1">Test1</option>
  <option value="Test2">Test2</option>
</select>

当然,它不起作用,因为ng-include创建了一个新的子范围。.当我使用一个模型时(在类似的模型中使用点),它可以工作data.model

但是在这种特殊情况下怎么可能,所以我可以在不同的控制器中将此模板与不同的模型一起使用?此外,我需要动态地将处理程序附加到select(例如 ng-change="doSmth()")。

提前致谢。

供参考: http ://plnkr.co/edit/NiLQyVQGb6X1mA0sVvA1?p=preview

4

1 回答 1

1

在这种情况下,最好改用指令。ng-include你可以通过使用来获得一些控制,onload但如果这还不够,使用指令是你最好的选择。

参考:onLoad 和 ng-init 在角度上的区别

于 2014-10-18T16:15:34.363 回答