【发布时间】:2014-10-18 16:06:46
【问题描述】:
我有一个模板,我想在我的应用程序的许多部分中使用它。 该模板包含分配了模型的选择框。
我通过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()")。
提前致谢。
【问题讨论】:
-
通常,如果您需要可重用性,最好创建一个指令。您将完全控制范围。
标签: javascript angularjs angularjs-scope angularjs-ng-include angularjs-ng-init