javascript - 如何获取 Controller 中子DOM的$attrs数据?

标签 javascript angularjs dom angularjs-scope

假设我有一个 Controller 和许多具有自己的 data 属性的子 DOM。

<!DOCTYPE html>
<html ng-app="plunker">

  <head>
    <meta charset="utf-8" />
    <title>AngularJS Plunker</title>
    <script>document.write('<base href="' + document.location + '" />');</script>
    <link rel="stylesheet" href="style.css" />
    <script data-require="angular.js@1.2.x" src="https://code.angularjs.org/1.2.16/angular.js" data-semver="1.2.16"></script>
    <script src="app.js"></script>
  </head>

  <body ng-controller="MainCtrl">
    <p data-test-val='Brian'>Hello {{name}}!</p>
  </body>

</html>

我想像这样访问data-test-val

var app = angular.module('plunker', []);

app.controller('MainCtrl', function($scope, $attrs) {
  $scope.name = $attrs.testVal;
});

但是,它似乎不起作用,因为 name 为空。

http://plnkr.co/edit/V1Leit8U7r2k4CZDGaGa?p=preview

如何访问相同范围的子 DOM 中的任何 data 属性?

谢谢。

最佳答案

你用属性获取方面的指令搞乱了 Controller 。

指令:

.directive('directiveName', function() {
    return {
        link: function($scope, $elem, $attrs) {
            // get $attrs stuff here
        }
    }
});

关于javascript - 如何获取 Controller 中子DOM的$attrs数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23359488/

相关文章:

javascript - 将 ng-click 处理程序添加到 angularjs 中的重复元素

javascript - Fluxxor/React.JS 中的服务调用

javascript - React 中的代码分割导致 API 调用被执行多次

javascript - 是否可以在任何 JavaScript 树可视化工具包(最好是 InfoVis)中就地编辑节点?

javascript - 是否可以判断 DOM 是否被修改,修改了哪一部分?

JavaScript addEventListener 由于某种原因不起作用

javascript - 与 documentFragment 一起使用时,appendChild() 替代方案?

javascript - Node : how to put objects as keys of hash object?

java - 适当的 json 到后端 post 调用

javascript - 如何在同一个 Angular JS 应用程序中使用具有不同身份验证 header 的不同 API