当前位置: 首页 > 面试题库 >

Angular.js如何从指令更新作用域?

史智志
2023-03-14
问题内容

如何更新指令中的作用域?

<div ng-controller="MyCtrl">
    <p t></p>
</div>

我的指令:

var myModule = angular.module('myModule', [])
    .directive('t', function () {
        return {
            template: '{{text}}',
            link: function (scope, element, attrs) {
                scope.text = '1';
                element.click(function() {
                     scope.text = '2';
                });
            }
        };
    })
    .controller('MyCtrl', ['$scope', function ($scope) {
    }]);

单击后指令不会更新。


问题答案:

使用$apply方法:

  element.click(function() {
      scope.$apply(function(){
           scope.text = '2';
      });
  });


 类似资料:
  • 问题内容: 我正在使用AngularJS,并试图在显示该标签的内容时向菜单添加“当前”类。这是我到目前为止所拥有的,并且在加载页面时可以正常工作: HTML: JS: 当页面网址为或时,这会将“当前”类添加到正确的标记中 问题是,如果我单击第二个选项卡,则不会将类添加到其中。我想我需要某种方法来使指令内部的代码在URL更改时重新运行。有什么办法吗? 问题答案: 在评论中使用来自kfis代码,现在可

  • 问题内容: 我在模板中有一个需要模板的自定义标签。该属性将由范围填充,然后需要正确的模板。 根据赞美诗的星期和日期,它有多种版本。我期望使用该指令来填充正确的部分。不会读取变量。 有在摘录目录多个文件被标记,… 问题答案: 您可以使用指令。 尝试这样的事情: UPD。 用于观看属性

  • 我正在尝试从命令行更新Xcode。最初我试着跑步: 这导致了以下消息: 所以问题仍然存在,有没有办法从命令行更新Xcode?

  • 问题内容: 我是angular.js的新手,在看似简单的任务上遇到了一些麻烦。 我需要从网站上的json文件中获取下面的json,然后将键(英语,西班牙语等)放入我的html文件中的标签标记中,然后加载其对应的值(0、1、3、2、1 )转换成html范围输入。 json文件包含: 加载json后产生的html应该如下所示: 最后,我想在表单上单击“保存”,并在json文件上在线更新相应键的值。 生

  • 问题内容: 我创建了以下示例,以便您可以确切了解正在发生的事情:http : //jsfiddle.net/8t2Ln/101/ 如果我使用ng-options,也会发生同样的事情。我这样做有不同的原因,但由于简化了示例,所以省略了这一部分。 如您所见,默认情况下它具有两个选项。我将在选择旁边显示ng- model的选择值,以便您可以看到它的含义。当您在顶部添加第三个选项时,它会将值设置为该新选项

  • 我有以下文件: 我运行以下命令: 但它什么也没做。依赖项不会得到更新,也不会反映在类路径上。命令的输出为: 不过,通过EclipseGradle插件实现这一点是可行的。