我试图隐藏,显示或更改基于ng-init值的部分html文件的样式。
我的部分是:
sh
在我的主html页面中,我有这样的设置:
export PRIVATE_KEY="$(printf %s '-----BEGIN RSA PRIVATE KEY-----\n....\n-----END RSA PRIVATE KEY-----')"
他们目前正在获取属性,就好像export PRIVATE_KEY="$(cat <<'EOF'
-----BEGIN RSA PRIVATE KEY-----
...
...
-----END RSA PRIVATE KEY-----
EOF
)"
。
我已经阅读了多篇关于何时以及何时不使用ng-init的文章,但我仍然对为什么这不会为每个div更新感到困惑。我在多个页面上使用此部分,因此将其包含为部分有意义。
答案 0 :(得分:0)
改为使用自定义指令:
var directive = function() {
return {
restrict: 'EA',
scope: {
artist: '=',
size: '='
},
templateUrl: '/partials/elements/posts/post-preview-regular.html'
};
};
var module = angular.module('moduleName', [])
.directive('directiveName', directive);
然后标记变为(在使用主模块正确注册指令模块之后):
<div class="row push-to-11 small-up-1 medium-up-2 large-up-3 section-spacer-large">
<directive-name ng-if="desktop" class="column" size="'threequart-padding-bottom'" artist="true"></directive-name>
<directive-name ng-if="desktop" class="column" size="'threequart-padding-bottom'" artist="false"></directive-name>
</div>
查看原始标记,您可能还需要将caption
添加到范围并通过它,但它仍然不应该太麻烦。
一般来说,ng-init
和ng-include
更像是最后的指令。它们并不是真正意义上的日常使用。即使ngInit
的{{3}}说:
可以滥用此指令将不必要的逻辑量添加到模板中。只有少数适当的用途......