带有指令和隔离作用域的控制器
controllerAs with directives and isolated scope
我想创建一个确定/取消按钮集,开发人员可以在其中更改标签
我有以下指令
angular.module('myApp')
.directive('myButtons',function(){
var ctrl = function ($scope) {
var controller = this;
};
return {
replace: true,
restrict: 'E',
scope: {
cancelLabel: '@',
saveLabel: '@',
save: '&',
cancel: '&'
},
templateUrl: 'directives/myButtons.html',
controller: ctrl,
controllerAs: 'controller',
bindToController: true,
};
});
指令的HTML包括以下内容
<div>
<button>{{controller.cancelLabel}}</button>
<button>{{controller.saveLabel}}</button>
</div>
调用该指令的实际HTML是
<my-buttons saveLabel="Discard" cancelLabel="Cancel"></my-buttons>
但是,没有设置标签。如何从html
中获取saveLabel=和cancelLabel=的内容?显示表单本身,如果我手动设置控制器。saveLabel = "save"那么它就会出现在save按钮上
我知道我错过了一些非常简单的东西;)
谢谢
您的指令元素属性错误,应该用连字符(-
)分隔,而不是使用驼峰大小写。
标记
<my-buttons save-label="Discard" cancel-label="Cancel"></my-buttons>
相关文章:
- 从控制器继承了隔离的作用域以生成可重用的指令
- 正在$rootScope上达到控制器作用域$在内部控制器上
- 在Angular Bootstrap Modal和父控制器之间共享作用域
- 从指令链接函数监视控制器作用域
- 为什么't我的角度控制器'在其某个方法内的作用域中的依赖项
- AngularJS:如何与其他控制器共享作用域函数和变量
- 当指令中已经给定作用域时,如何访问控制器中声明的函数
- AngularJS:如何调用指令中定义的函数'控制器的作用域
- 阻止控制器创建新的作用域对象
- 作用域变量未从状态父控制器继承到子控制器
- 将变量动态添加到每个控制器的作用域
- AngularJS指令中的作用域未定义,控制器中有ajax请求
- 角度:覆盖'@'链接或控制器中隔离作用域中的属性
- AngularJ为多个DOM/作用域提供一个控制器
- 如何基于父控件的作用域生成子控制器
- 控制器作用域变量在刷新之前未加载
- 从多个控制器上的指令访问作用域的正确方法
- 如何在angular.js中为http控制器添加作用域
- AngularJS:通过服务在两个作用域/控制器之间进行双向通信
- Angular指令将模板分配给Body,但保持相同的作用域/控制器