我的想法是使模板(对于问题)可以在旁边元素中选择。
为了在angularjs中创建一个旁路元素,我尝试了dbtek/angular-aside。这工作相当不错,但我的问题是,我必须将模板存储在一个额外的模板文件中,我需要更改现有的$ scope变量(以在表单中设置模板)。
实施例:
create_question.html(按钮打开搁置元件&显示模板变量)
<button type="button" class="btn btn-default btn-lg" ng-click="openAside('left')">
<span class="glyphicon glyphicon-align-justify"></span> Right
</button>
Choosen template is {{choosenTemplate}}
create_question.js(VAR为choosen模板,函数打开搁置元件&函数来更改模板var)
$scope.choosenTemplate = 0; // 0 = default
$scope.openAside = function(position) {
$aside.open({
templateUrl: 'aside.html'
placement: position,
backdrop: true,
controller: function($scope, $modalInstance) {
$scope.ok = function(e) {
$modalInstance.close();
e.stopPropagation();
};
$scope.cancel = function(e) {
$modalInstance.dismiss();
e.stopPropagation();
};
}
})
};
$scope.setTemplate = function(templateNumber)
{
$scope.choosenTemplate = templateNumber;
}
aside.html(模板aside元素 - 内容无关)
<div>
<button ng-click="setTemplate(2)">Template 2</button>
</div>
的搁置元件被示出,但是当我按下按钮的功能不会被调用。
当我改变
aside.html
<div ng-controller="CreateQuestionCtrl">
<button ng-click="setTemplate(2)">Template 2</button>
</div>
函数被调用,但现在我有两个不同的$范围(我认为)?而且我只能改变错误的$ scope元素(在旁边)。
闯闯是设置的模板在<script>
- 元素这样的:
<script type="text/ng-template" id="aside.html">
<button ng-click="setTemplate(2)">Template 2</button>
</script>
,并设置create_question.html这里面的元素,但现在我不能再次调用该函数。
有没有人有一个想法,我可以在“两个不同的”页面上有相同的$范围?两者都在同一页面上,但我不能真正访问相同的$范围。