gpt4 book ai didi

javascript - AngularJs - 使用父作用域变量和隔离作用域的指令

转载 作者:行者123 更新时间:2023-11-28 18:57:10 24 4
gpt4 key购买 nike

我什至不知道此时要问什么(编辑:我被告知不清楚我的问题是“为什么指令没有看到传递给它的属性”),我想我明白了。似乎无法在指令中使用父 Controller 的属性(是的,它们确实需要是可选的,但我认为这不是问题)。

我想我创建一个隔离范围:scope: {myVar: "=?"} 然后简单地创建一个 myVar 属性并将其指向父 Controller 上的“source”。我究竟做错了什么?

fiddle :http://jsfiddle.net/x0mukxdd/

html:

<my-directive isDisabledDirectiveVar = "isDisabledOuterVar" insideDirectiveTestString = "someTestString" />

js:

var app = angular.module("myApp", []);
app.controller("myController", function ($scope) {
$scope.isDisabledOuterVar = true;
$scope.someTestString = 'blahblah I am a astring';
});

app.directive("myDirective", function () {
return {
restrict: 'E',
scope: {
isDisabledDirectiveVar: '=?',
insideDirectiveTestString: '=?'
},
template: '<input type = "text" ng-disabled= "isDisabledDirectiveVar"' +
'value = "{{insideTestString}}" ></input>'
};
});

旁注,引用文章here.

最佳答案

Angular 在 javascript 中使用驼峰命名法,但将其从 HTML 中的破折号命名法转换而来。

html: <my-directive is-disabled-directive-var="yourVar" />

javascript: scope: { isDisabledDirectiveVar: '=?' }

更新的示例: http://jsfiddle.net/x0mukxdd/2/

关于javascript - AngularJs - 使用父作用域变量和隔离作用域的指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33379218/

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