здесь мы идем ... У меня есть контроллерКак отправить угловой параметр в событие onclick?
$scope.selectedScript = {};
$scope.selectedScript.scriptId = null;
$scope.selectScript = function(script, index) {
$scope.selectedScript = script;
$scope.selectedRow = index;
myAppFactory.updateTextArea(script).success(
function(data) {
$scope.selectedScript = data;
});
};
$scope.getSelectedClass = function(script) {
if ($scope.selectedScript.scriptId != undefined) {
if ($scope.selectedScript.scriptId == script.scriptId) {
return "selected";
}
}
return "";
};
У меня есть HTML-страницу
<label>Script ID:</label>
<input name="scriptId"
type="text"
id="scriptId"
ng-model="selectedScript.scriptId"
ng-disabled="true"
value="{{selectedScript.scriptId}}" />
и теперь THx к IARKI у меня есть этот
<script type="text/javascript">
function goTo(){
var param1 = angular.element(document.querySelector('.scriptId')).scope.selectedScript.scriptId;
location.href=this.href + '?scriptId='+param1;
return false;
}
</script>
<a href="http://localhost:8080/DSS-war/debug.html" target="_blank" onclick="goTo()">Debug</a>
Я также список сценариев в таблице
<table class="scripts" name="tableScript" arrow-selector>
<tr bgcolor="lightgrey">
<th>Script ID</th>
<th>File Name</th>
</tr>
<tr
ng-repeat="s in scripts | filter:searchField | orderBy:'scriptId'"
ng-click="selectScript(s, $index)" ng-class="getSelectedClass(s)">
<td>{{s.scriptId }}</td>
<td>{{s.fileName }}</td>
</tr>
</table>
Тогда я нажмите на ссылку выше, и появляется новая вкладка, но ссылка все еще
http://localhost:8080/DSS-war/debug.html
, но мне нужно, чтобы открыть в новой вкладке, а также быть таким:
http://localhost:8080/DSS-war/debug.html?scriptId=1
http://localhost:8080/DSS-war/debug.html?scriptId=2
http://localhost:8080/DSS-war/debug.html?scriptId=12
и так далее ... с номерами
любая идея?
И это должно быть функцией OnClick, а не нг нажмите Я знаю, как это работает на нг-клик, но мне нужно, чтобы заставить его работать на OnClick ...
и теперь я получаю это из хромированного отладчика:
Uncaught TypeError: Cannot read property 'scriptId' of undefined
в линии
var param1 = angular.element(document.querySelector('.scriptId')).scope.selectedScript.scriptId;
Является 'param1' в глобальном масштабе? Почему вы не можете указать 'href'using angularjs? – Satpal
* «должен быть onclick» * .... почему? Уродливый способ делать вещи – charlietfl
Я не знаю, является ли param1 глобальной областью, как я должен ее проверить? и я должен заставить его работать без угловой части, ее требуется по спецификациям – newb