如何在指令中获取属性参数
How to get an attribute parameter in a directive
我有以下代码。我正在尝试将myController
范围内的name
作为nameAttr
属性注入 myObj
指令。
我已经在指令的作用域上分配了name: '=nameAttr'
,但它似乎不起作用。
我做错了什么?
https://plnkr.co/edit/qceVMl0w2gv03ZuQVQb8?p=preview
.HTML
<my-obj nameAttr="name"></my-obj>
在"我的-OBJ"内部。目录'
<h2>{{ name }}</h2>
<ol>
<li ng-repeat="(slug, val) in loop">{{ slug }} - {{ val }}</li>
</ol>
角
var mod = angular.module('myApp', []);
mod.controller('myController', myController).directive('myObj', myObject);
function myController($scope){
$scope.name = 'John Smith';
}
function myObject(){
return {
restrict: 'E',
templateUrl: 'my-obj.html',
scope: {
name: '=nameAttr'
},
controller: function($scope){
$scope.loop = {
'one': 'gfshfh',
'two': '32435'
};
}
};
}
在你的index.html
中你需要写
<my-obj name-attr="name"></my-obj>
------------------^
具有camelCase
名称的Directives
必须按照模板中的camel-case
Angular 规范化元素的标记和属性名称,以确定哪些元素与哪些指令匹配。我们通常通过区分大小写的驼峰规范化名称(例如 ngModel)来引用指令。但是,由于HTML不区分大小写,因此我们通过小写形式引用DOM中的指令,通常在DOM元素上使用破折号分隔的属性(例如ng-model)。
规范化过程如下:
Strip x- and data- from the front of the element/attributes. Convert the :, -, or _-delimited name to camelCase.
指令文档在这里
相关文章:
- 无法获取属性'selectedIndex'的未定义引用或null引用
- 如何从选择框中的选项中获取属性值
- 无法获取属性'Id'使用Knockout.js的未定义或空引用API
- 使用Undercore获取属性值数组
- Microsoft JScript运行时错误:无法获取属性'的值;样式':对象为null或未定义
- "无法获取属性'的值;style'"当试图在IE中更改样式时
- 无法获取属性'字符串'的未定义或null引用IE 11 ASP.NET
- 无法获取属性'的值;拆分'在IE8中调用ajax之后
- JQuery关键字“;这个“;未获取属性值
- SCRIPT5007:无法获取属性'长度'的未定义引用或null引用
- 为什么我得到“;无法获取属性的值'SetReturnValue'"当使用ceebox显示YouT
- 无法获取属性'setActionableButtonState'的未定义引用或null引用
- JavaScript |对象:获取属性忍者移动
- 如何使用 jQuery 在循环中获取属性的值
- 无法获取属性'偏移'的未定义引用或null引用
- 从列表中的选定项获取属性值
- 获取属性(邮政编码)并在Google地图API 3中使用
- IE:无法获取属性'的值;clientWidth':对象为null或未定义
- 如何通过类名和过滤函数获取属性值
- 无法使用javascript表示法获取属性值