如何在单击按钮时渲染外部模板
How to render external template on button click?
假设我有以下标记:
<main ng-controller="MainController">
<article id="story-container"></article>
<button ng-click="newSection()">+ Add Section</button>
</main>
我需要在点击按钮时在文章元素中编译并附加以下模板。
<script id="newSectionTmpl" type="text/ng-template">
<section>Hello, {{name}}!</section>
</script>
我尝试过这样的方法,但不确定这是否是一个好方法:
app = angular.module('myApp', []);
app
.controller('MainController',['$scope', '$compile', function($scope, $compile) {
$scope.name = "Denis";
$scope.newSection = function() {
var tmpl = $('#newSectionTmpl').html();
var $el = $('#story-container');
console.log(tmpl);
var html = $compile(tmpl)($scope);
$el.append(tmpl);
}
}
]);
此外,如何从外部文件加载模板?以下是指向jsBin的链接:http://jsbin.com/zuyicewexahi/5/edit?html,js,输出
Tryng-include指令ng包括文件
<div class="modal-header">
<form ng-include src="'/src/sample.html'"></form>
</div>
sample.html是一个外部文件,它将使用ng-include指令
Angular非常棒,您不需要大部分jquery。参见下面的plunkr:http://plnkr.co/edit/yqhnQyR4NrFvnUBn7ite?p=preview
您需要将名称设置为"Noypi"只是开玩笑…"
app.controller('MainController',['$scope', function($scope) {
$scope.name = "Noypi";
$scope.content = "";
}]);
html。。。
<div ng-controller="MainController">
<button ng-click="content = 'newSectionTmpl'">+ Add Section</button>
<div ng-include src="content"></div>
</div>
相关文章:
- JavaScript-在手机上不工作的情况下,在外部单击时隐藏元素
- 使用 jQuery,当我在输入框外部单击时,如何更改输入元素的值
- 在日期选择器外部单击时,.blur()不会触发
- 为在外部单击时关闭的库图像创建预览效果
- 如何使toggleClass()在元素外部单击时工作
- 在fancybox2外部单击
- 如果在Div元素外部单击,请关闭该元素
- 如何使用AngularJsOnly在元素外部单击时关闭元素
- d3.js在元素外部单击时,隐藏该元素
- addClass”;输入无效”;输入dos't显示,直到我在输入元素外部单击为止
- 从图表外部单击高图表上的某个点
- 切换关闭外部单击
- 如果在外部单击,则隐藏弹出窗口.为什么我的脚本没有'不起作用
- 在元素外部单击时激发事件的指令
- 使用jquery在外部单击时引导折叠/隐藏
- 使用外部单击关闭自定义指令弹出框
- 防止在工具提示外部单击时隐藏/关闭剑道工具提示
- 在 jQuery 中从父元素外部单击“this”时如何切换子元素
- 如何在元素外部单击时使用 jQuery 隐藏元素
- JavaScript 下拉菜单在单击时处于活动状态,在外部单击时不活动