我有以下代码。我正在尝试注入(inject) name
来自myController
myObj
内的范围指令为 nameAttr
属性。
我已分配 name: '=nameAttr'
在指令的范围内,但它似乎不起作用。
我做错了什么?
https://plnkr.co/edit/qceVMl0w2gv03ZuQVQb8?p=preview
HTML
<my-obj nameAttr="name"></my-obj>
在“MY-OBJ.HTML”内部
<h2>{{ name }}</h2>
<ol>
<li ng-repeat="(slug, val) in loop">{{ slug }} - {{ val }}</li>
</ol>
Angular
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>
------------------^
Directives
与 camelCase
名称必须写为 camel-case
在您的模板中
关于javascript - 如何获取指令中的属性参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35336756/