私は私のhtmlでこのディレクティブ `角度指令の動作は
var xmlToHtml = function() {
return {
restrict: "A",
templateUrl: 'Components/XML2Html/views/XML2Html.html',
controllerAs: 'XmlToHtmlController',
bindToController: true,
scope: {
xslt: '@',
administrator: '='
},
link: function() {
},
controller: function ($scope, $timeout, $sce, $http, $filter, $timeout, $window) {
$scope.administrator = this.administrator;
$scope.$watch('administrator', function (newVal, oldVal) {
console.log($scope.administrator);
}, true);
},
};
}
xmlToHtml.$inject = [];
とを持っている
<div xml-to-html xslt="test.xslt" administrator="Agent.Administrator"></div>
スコープAgent.Administratorがブール値である期待できません。そして、ディレクティブの外側で値を変更するので、私は2つの方法でバインドします。
bool管理者が値を変更した場合、問題が解決しないという問題があります。しかし、奇妙なのは、 'Agent.Administrator'を 'Agent'(すべてのオブジェクトで、これだけのフラグではない)に置き換えて完璧に動作し、フラグ 'Administrator'の変更があればそれです。
ブールイン命令にはどのようなアプローチがありますか? ここで奇妙なのは、フラグだけを渡した場合、ディレクティブは変更を知りませんが、すべてのオブジェクトを渡すと、ディレクティブは変更を認識します。
を入れることができますが、私の指示で、私は スコープを持っている:{ XSLTを:「@」、 administrator: '=' }、 '='はコピーを作成しないで、コミュニケーションの2つの方法を意味します。 – GomuGomuNoRocket
@GomuGomuNoRocket 'Administrator'は、オブジェクトでなければなりません。 Agent.Administratorを使用しないと、親スコープを更新するための適切な参照が得られません –