我正在构建一个任务管理应用程序,我想要的行为:
- 当用户单击'Add Task'时,将向表中添加新行(已经完成),并关注最新/最后一个表行的输入。
我不希望它在页面加载时聚焦,我只希望它在使用ng-click单击按钮时聚焦。我不知道如何做到这一点,有人能提供任何帮助吗?$broadcast和$on在这里有用吗?
我不知道你是如何添加新的行表。我是Angular的新手,所以我想不出一种与ng-click
一起工作的方法,因为它将调用controller
中的函数,但不建议在controller
中进行DOM操作,所以我的建议是为"添加任务"按钮创建一个新的自定义指令,并在该指令中为元素的链接函数添加一个click
监听器,这将为表添加一个新行并将输入元素集中在其中。像下面的
.directive('myDir', function () {
return {
restrict: 'A',
scope: true,
link: function (scope, element, attrs) {
function functionToBeCalled () {
console.log("It worked!");
}
element.on('click', functionToBeCalled);
}
};
});
您可以在functionToBeCalled
函数中添加自己的DOM操作代码。这段代码只是一个基本的参考,给你一个想法。
感觉很懒,所以无耻地从这个答案中复制了directive
代码。