是否可以在AngularJS指令标记中捕获单个单词属性(一个没有值),而不需要为其分配值,并在Controller
中提供该值?
例如:
<my-input type="radio" checked></my-input>
...而不是要求输入checked="true"
。
有一个解决方案可以在指令link
(Attribute without value in AngularJS directive)中访问这些值,但我不清楚如何在控制器中访问这些值。
答案 0 :(得分:1)
您可以在范围内尽可能多地使用控制器中的attrs。
app.directive('myInput', [function () {
return {
restrict: 'E',
controller: function($scope,$element,$attrs){
}
};
}]);
查看the $compile/directive definition object official doc,但向下滚动到控制器构造函数部分。
控制器是可注射的(并支持括号表示法),具有以下本地:
$ scope - 与元素
关联的当前范围$ element - 当前元素
$ attrs - 元素的当前属性对象
$ transclude - 预先绑定到正确的转换范围的转换链接函数
答案 1 :(得分:-1)
在HTML中
<%= link_to "All Movies", movies_path %>
<%= link_to "Movies sorted alphabetially", movies_path(sort_by: "title") %>
在控制器
中<input type="checkbox" ng-model="msngModel" ng-change='saveChanges(msngModel)' ng-true-value="'YES'" ng-false-value="'NO'">