gpt4 book ai didi

javascript - 将对象传递给 Angular 指令属性未通过

转载 作者:行者123 更新时间:2023-11-29 18:00:45 25 4
gpt4 key购买 nike

我正在将 JavaScript 对象传递给 Angular.js 指令。在 link 函数中记录 attrs 时,我在那里看到我的属性,但是在记录 attrs.myOptions 时没有数据:

var directive = function() {
return {
restrict: 'E',
replace: true,
scope: {
myOptions: '='
},
link: function(scope, element, attrs) {
console.log(scope)
console.log(attrs)
console.log(attrs.myOptions)
}
}
}

我正在我的模板中实现它,如下所示:

<directive my-options="myObject" />

myObject 是在模板的 Controller 中设置的 JavaScript 对象。

我在控制台中收到此错误:

Syntax Error: Token 'myObject' is unexpected, expecting [:] at column 3 of the expression [{{myObject}}] starting at [myObject}}].

最佳答案

按照上面的建议,你可以这样使用。仅更改您必须通过范围访问模型。

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

myApp.directive("directive",function() {
return {
restrict: 'E',
replace: true,
scope: {
myOptions: '='
},
link: function(scope, element, attrs) {
console.log(scope)
console.log(attrs)
console.log(scope.myOptions)
}
}
});
myApp.controller('myCtrl', function($scope) {
$scope.myObject = [1,2,3,4,5];
console.log("app controller");
});
<!doctype html>
<html>
<script src="https://code.angularjs.org/1.4.8/angular.js"></script>

<head>
</head>

<body>
<div ng-app="myApp" ng-controller="myCtrl">
<directive my-options="myObject" />
</div>
</body>

</html>

关于javascript - 将对象传递给 Angular 指令属性未通过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35135436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com