javascript - 带有 {{}} 指令属性的 Angular

标签 javascript angularjs angularjs-directive

有没有办法将 {{string}} 传递给从 $attrs (而不是 $scope)获取此属性的指令?

这是一些代码:

Controller :

...
scope.someId = "someId";
...

HTML:

<my-dir id="{{someId}}"></my-dir>

指令

app.directive('myDir', function() {
   return {
      controller: function($attrs){
         console.log($attrs.id) //output: {{someId}}
      }
   }
})

我想要的是输出是 someId 而不是 {{someId}}

最佳答案

在触发初始摘要周期之前,您将无法从 $attrs 访问该值。一旦触发摘要周期,您就可以从 $attrs 访问它。

app.directive('myDir', function() {
   return {
      controller: function($attrs){
         console.log($attrs.id) //output: {{someId}}
         $attrs.$observe('id', function (newVal, oldVal) {
             console.log(newVal, oldVal); // here you will be able to access the evaluated value. 
         });
      }
   }
})

关于javascript - 带有 {{}} 指令属性的 Angular,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29373610/

相关文章:

javascript - Angularjs 指令内容未链接到隔离范围

javascript - 自动完成文本框,包含由句号和元素分隔的多个值

javascript - 用于动态页面加载的 Bootstrap 预输入选择器

javascript - Rails 通过 ajax 提交表单并更新 View

c# - 像实时新闻提要ajax刷新一样实现facebook?

javascript - Angular 不工作

javascript - Angular JS 文件上传内容处理

javascript - 在 Angular ng-repeat 中使用基金会的下拉菜单

javascript - 不同模块的 Controller 之间如何共享数据

angularjs - 从 AngularJS 指令访问属性