我在控制器中有幾個按鈕ng-click
,我想在單擊按鈕時更改指令模板。達到此目的的最佳方法是什麼? (I稍後將在元件的作用用的滑動)使用ng-click更改指令模板
0
A
回答
2
指令:
myModule.directive('foo', function() {
return {
scope: {
templateType: '@'
},
template: '<div ng-if="templateType == \'a\'">' +
' this is template A ' +
'</div>' +
'<div ng-if="templateType == \'b\'">' +
' this is template B ' +
'</div>'
};
});
模板:
<foo template-type="{{ templateType }}"></foo>
<a ng-click="templateType = 'b'" href="">Set template to b</a>
控制器:
$scope.templateType = 'a';
2
可以擴展所提供的示例通過@JB Nizet並使用ng-include
來交換模板,並且管理更大尺寸的模板變得更容易。
myModule.directive('foo', function() {
return {
scope: {
templateType: '@'
},
template: '<div ng-include="\'/templateRoot/\' + templateType">'+
'</div>'
};
});
現在,您可以創建單獨的模板文件,並讓他們在特定的URL可以(在這種情況下/templateroot/a
或/templateroot/b
)
+0
的確有意義.. + 1 –
相關問題
- 1. ngClick在指令
- 2. 更改角指令模板動態
- 3. AngularS - 更改指令模板或更確切地說使用單獨的模板?
- 4. 使用1指令模板到另一指令模板
- 5. ngClick指令上的$ window
- 6. 如何使ngReact使用ng指令(ngClick,ngStyle等)
- 7. 使用模板的測試指令
- 8. 在指令模板中使用ui-validate
- 9. 在模板之外使用Blade指令
- 10. 預覽模板,使用指令
- 11. 使用動態模板的指令
- 12. AngularJS - 使用動態模板的指令
- 13. AngularJS指令使用不同的模板
- 14. 在Angular指令模板中使用Qtip2
- 15. 使用angularjs中的指令模板
- 16. 「使用」指令在模板內失敗
- 17. 在指令模板中使用ng-show
- 18. AngularJS - 如何覆蓋指令ngClick
- 19. 更新指令的模板AngularJS
- 20. AngularJS:更新模板,通過指令
- 21. 兒童指令模板沒有更新
- 22. 無法在指令模板中使用指令控制器值
- 23. 根據屬性中的數據更改指令模板
- 24. AngularJS動態更改ng-repeat指令的模板
- 25. AngularJS指令運行時間模板更改
- 26. 擴展第三方角度指令並更改其模板
- 27. 角指令模板輸入不更新指令範圍
- 28. 模板沒有更新和$ HTTP使用自定義指令
- 29. ngClick和ngDisabled在模板錨標記
- 30. 更改指令,不使用jQuery的API
我會建議使用不同的路由/查看每個局部視圖 – harishr
什麼,如果這兩個模板很大..? –
然後,您將該模板外部化到一個文件並使用templateUrl,就像其他指令一樣。 –