jvi*_*tti 65 angularjs angularjs-ng-click
我有多个元素在ng-click上具有相同的回调:
<button ng-click="doSomething()"></button>
<button ng-click="doSomething()"></button>
<button ng-click="doSomething()"></button>
<button ng-click="doSomething()"></button>
Run Code Online (Sandbox Code Playgroud)
// In controller:
$scope.doSomething = function() {
// How do I get a reference to the button that triggered the function?
};
Run Code Online (Sandbox Code Playgroud)
如何获得对doSomething调用的对象的引用?(我需要删除它的attr)
pko*_*rce 215
从技术上讲,当您执行以下操作时:
<button ng-click="doSomething($event)"></button>
Run Code Online (Sandbox Code Playgroud)
// In controller:
$scope.doSomething = function($event) {
//reference to the button that triggered the function:
$event.target
};
Run Code Online (Sandbox Code Playgroud)
这可能是你的东西不希望做的AngularJS理念是专注于模型的操作,让AngularJS做渲染(根据提示从声明UI).在AngularJS世界中,从控制器处理DOM元素和属性是一个很大的禁忌.
您可以查看此答案以获取更多信息:https://stackoverflow.com/a/12431211/1418796
tes*_*123 21
角度方式显示在角度文档:)
https://docs.angularjs.org/api/ng/directive/ngReadonly
以下是他们使用的示例:
<body>
Check me to make text readonly: <input type="checkbox" ng-model="checked"><br/>
<input type="text" ng-readonly="checked" value="I'm Angular"/>
</body>
Run Code Online (Sandbox Code Playgroud)
基本上,角度方式是创建一个模型对象,该对象将保持输入是否应该只读,然后相应地设置该模型对象.棱角分明的美是大多数时候你不需要做任何dom操作.你只需要角度渲染你的模型设置的视图(让角度为你做dom操作并保持你的代码干净).
所以基本上在你的情况下你会想要做下面的事情或查看这个工作示例.
<button ng-click="isInput1ReadOnly = !isInput1ReadOnly">Click Me</button>
<input type="text" ng-readonly="isInput1ReadOnly" value="Angular Rules!"/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
105318 次 |
| 最近记录: |